On my Fedora 19 system, I am able to change the system hostname with hostnamectl. This allows me to set several things, such as the static (normal) hostname, as well as a "pretty" hostname.

Is there a simple command that retrieves the pretty hostname, from a bash prompt?

hostname returns the static hostname, and the man page shows no options to recover the pretty one.


As per man hostnamectl:

The static host name is stored in /etc/hostname, see hostname(5) for more information. The pretty host name, chassis type and icon name are stored in /etc/machine-info, see machine-id(5).

Therefore, if you have set a pretty hostname using the command

hostnamectl set-hostname --pretty YourHostname

you can retrieve it using a tool like awk:

awk -F= '/PRETTY/ {print $2}' /etc/machine-info
  • @Evgeny Vereschagin Piping awk to sed is an ugly as it is redundant: awk -F= '/PRETTY/ {gsub(/"/,"");print $2}' /etc/os-release is simpler... – jasonwryan Aug 28 '15 at 9:43
  • I agree. But that doesn't work with my example. Try hostnamectl set-hostname --pretty '"MyPretty\\Name"', awk -F= '/PRETTY/ {gsub(/"/,"");print $2}' /etc/machine-info. The result is wrong. – Evgeny Vereshchagin Aug 28 '15 at 10:14
  • @EvgenyVereshchagin Who would ever set '"MyPretty\\Name"' as a pretty name? – jasonwryan Aug 28 '15 at 10:16
  • well. this is an extreme case. try sudo hostnamectl --pretty set-hostname "Lennart's Laptop" (example from the manpage) on Fedora 19. awk -F= '/PRETTY/ {gsub(/"/,"");print $2}' prints wrong result Lennart\'s Laptop. – Evgeny Vereshchagin Aug 28 '15 at 10:26
  • 1
    @EvgenyVereshchagin Yes: my point is that piping awk to sed is always wrong. If you want to post a sed answer, then you are welcome to do that... – jasonwryan Aug 28 '15 at 19:14

hostnamectl --pretty will directly print the pretty hostname out. Tested on systemd version 239.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.