Как я могу задать псевдонимы для всех пользователей?

Если есть работающий сеанс 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

1
задан 16 April 2015 в 17:15

2 ответа

Псевдоним будет работать только внутри оболочки. Если вы хотите, чтобы что-то было широко доступно как исполняемый файл, вы можете добавить небольшой скрипт ярлыка к /usr/bin, например :

#!/bin/sh
ls -l "$@"

. [F3] передает все аргументы в исполняемый файл. Имя скрипта будет именем исполняемого файла.

Источник: https://unix.stackexchange.com/a/52509/15954

4
ответ дан 23 May 2018 в 21:20
  • 1
    Этот ответ кажется несвязанным. Принятый ответ правильно отвечает на вопрос, пока это, как представляется, обеспечивает обходное решение. – Brian Sizemore 15 September 2017 в 00:11
  • 2
    @BrianSizemore У меня был такой же вопрос, но наткнулся на это решение, которое было более уместным в моем случае; надеюсь, это поможет другим в аналогичной ситуации. Для многих людей псевдоним будет в порядке. – jtpereyda 15 September 2017 в 00:21
  • 3
    @BrianSizemore Этот ответ разъясняет распространенное заблуждение (которое у меня также было) и полезно и напрямую связано. – a20 17 October 2017 в 10:40

Как указано здесь, вероятно, лучше добавить глобальные псевдонимы в /etc/bash.bashrc:

alias foo='bar --baz'
alias baz='foo --bar'

, потому что здесь для определенных (не-login) оболочек. Мне потребовалось несколько часов, чтобы понять, почему /etc/profile.d не работает.

См. https://askubuntu.com/a/606882/ и Понимание .bashrc и .bash_profile для различия между оболочками.

0
ответ дан 23 May 2018 в 21:20

Другие вопросы по тегам:

Похожие вопросы: