Если есть работающий сеанс dbus / X, принадлежащий пользователю, может быть достаточно установить переменную DISPLAY, например
$ gsettings set org.gnome.desktop.background picture-uri 'file:///usr/share/backgrounds/Winter_Morning_by_Shannon_Lucas.jpg'
** (process:28787): WARNING **: Command line `dbus-launch --autolaunch=ab102316d96f4621a2f3ccef0000000b --binary-syntax --close-stderr' exited with non-zero exit status 1: Autolaunch error: X11 initialization failed.\n
** (process:28787): WARNING **: Command line `dbus-launch --autolaunch=ab102316d96f4621a2f3ccef0000000b --binary-syntax --close-stderr' exited with non-zero exit status 1: Autolaunch error: X11 initialization failed.\n
, но
$ DISPLAY=:1 gsettings set org.gnome.desktop.background picture-uri 'file:///usr/share/backgrounds/Winter_Morning_by_Shannon_Lucas.jpg'
$
$ DISPLAY=:1 gsettings get org.gnome.desktop.background picture-uri
'file:///usr/share/backgrounds/Winter_Morning_by_Shannon_Lucas.jpg'
Обратите внимание, что мой дисплей: 1 в этом случае - чаще всего основным рабочим столом будет: 0
Псевдоним будет работать только внутри оболочки. Если вы хотите, чтобы что-то было широко доступно как исполняемый файл, вы можете добавить небольшой скрипт ярлыка к /usr/bin, например :
#!/bin/sh
ls -l "$@"
. [F3] передает все аргументы в исполняемый файл. Имя скрипта будет именем исполняемого файла.
Источник: https://unix.stackexchange.com/a/52509/15954
Как указано здесь, вероятно, лучше добавить глобальные псевдонимы в /etc/bash.bashrc:
alias foo='bar --baz'
alias baz='foo --bar'
, потому что здесь для определенных (не-login) оболочек. Мне потребовалось несколько часов, чтобы понять, почему /etc/profile.d не работает.
См. https://askubuntu.com/a/606882/ и Понимание .bashrc и .bash_profile для различия между оболочками.