How do I change my desktop name from Ubuntu Desktop to XYZ's Desktop via the Unity panel?
5 Answers
There's a much quicker way than doug's method, by abusing the gettext translation system. Assuming you are using an English locale:
#Make a temporary text file using vim/gedit/cat/whatever
cat > /tmp/foo.po
msgid "Ubuntu Desktop"
msgstr "A Badger With A Gun"
^D
cd /usr/share/locale/en/LC_MESSAGES
sudo msgfmt -o unity.mo /tmp/foo.po
Then, either log out and back in, or just execute:
unity --replace
-
2I do not advise using
unity --replace
, it made my interface unusable. Logging out and back in worked fine though. Also, using an empty string formsgstr
doesn't work. You have to use whitespace as your string (e.g. " ") to remove the message.– DennisOct 5, 2013 at 20:53 -
-
You would likely need to build the unity or unity-2d source. Currently, in unity-5.12, it would be found in /plugins/unityshell/src/PanelMenuView.cpp
, line 78:
_desktop_name(_("Ubuntu Desktop"))
In unity-2d, unity-2d 5.12: /panel/applets/appname/appnameapplet.cpp
, line 369:
d->m_label->setText(u2dTr("Ubuntu Desktop"));
-
Thank you for your response i am currently using 5.12 and will try compiling it from src.. May 22, 2012 at 16:39
It appeared that, The Text on top-left corner uses the value from the file /usr/lib/os-release
file. So, We need to edit the value for NAME
key on that file only.
Open with nano
sudo nano /usr/lib/os-release
Change the value of
NAME
from the first line. I changed it toL Buntu
just for testing. The file's content after changeNAME="L Buntu" VERSION="16.04.1 LTS (Xenial Xerus)" ID=ubuntu ID_LIKE=debian PRETTY_NAME="Ubuntu 16.04.1 LTS" VERSION_ID="16.04" HOME_URL="http://www.ubuntu.com/" SUPPORT_URL="http://help.ubuntu.com/" BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/" UBUNTU_CODENAME=xenial
Logout and Login again to see the change.
Here is a tiny screenshot after change.
Tested on 16.04.
This is a bit unusual and may be reverted if you update Unity, but this should be possible.
Open GEdit (or any other text editor) and insert the following:
msgid "Ubuntu Desktop" msgstr "Mac OS X"
Save the file wherever you'd like with the
.po
extension. I'll refer to it as~/desktop.po
.Open up the terminal and execute the following commands:
cd /usr/share/locale/en/LC_MESSAGES sudo msgfmt -o unity.mo ~/desktop.po
Log out and log back in and the text should have changed.
This is taking advantage of the translation system in Ubuntu to make it consider the English translation of "Ubuntu Desktop" to be "Mac OS X".
-
Thanks Andrew. I've got to the point where i need to enter sudo msgfmt,but i get this: "(ubuntu@ubuntu:~$ sudo msgfmt -o unity.mo /home/ubuntu/documents/desktop.po) (sudo: msgfmt: command not found). Any ideas what might be happening? Hope you can help once again as i would love to get this done, it will all make sense once you see what i am doing as i know it looks a little odd at the moment. Dec 10, 2012 at 12:21
-
I'm confused as to why this thread has been shut down because i already said that i didn't understand the previous topic, but a link has been posted anyway and the thread closed regardless of my comments. It's impossible for me to learn from reading something i simply don't understand. Is there any chance i could have it reopened please? I don't mean to sound rude but i don't get why threads have to be closed the minute an answer appears. Thanks. Dec 10, 2012 at 12:26
-
1
To expand on what has been suggested above, and if you want to entirely remove the "Ubuntu Desktop" label, you can use:
msgid "Ubuntu Desktop"
msgstr " "
Where the whitespace is created, in gedit, for instance, by holding Ctrl+Shift keys and typing U00A0, this will generate an ascii non breaking space.