X искажает быстрые переменные среды?

Я подозреваю, что вы используете SystemD. Если это правда, используйте его встроенный инструмент SystemCTL :

systemctl suspend
systemctl hibernate
systemctl hybrid-sleep
systemctl reboot
systemctl poweroff
systemctl halt

Как всегда вы можете создать псевдоним для любых из этих команд.

1
01.03.2015, 02:44
2 ответа

Нет, X не управляет переменными окружения. А вот bash - да, в частности, в неинтерактивных оболочках PS1 и PS2:

$ PS1='my PS1' PS2='my PS2' PS3='my PS3' PS4='my PS4' bash -c export |grep PS
declare -x PS3="my PS3"
declare -x PS4="my PS4"

Bash, вероятно, выполняется где-то в рамках Вашей последовательности входа в систему. Это гарантировано, если Ваш /bin/sh является bash и обычным, даже если это не так.

Подсказка - это настройка оболочки, имеющая смысл только в интерактивных оболочках, поэтому нет смысла экспортировать ее в окружение. Вместо этого установите его в интерактивный файл инициализации оболочки .bashrc.

1
28.01.2020, 01:45

Я предполагаю, что вы используете bash в качестве оболочки. Если вы работаете с чем-то другим, особенности будут отличаться, но подход останется прежним. Чтобы подтвердить свой логин, выполните следующую команду: getent passwd "$ {USER: - $ (id -nu)}" | awk -F: '{print $ NF}'

Я подозреваю, что ваше приглашение определено в .profile или .bash_profile и устанавливается (один раз) при входе в систему ваш терминал. Когда вы вызываете startx и открываете терминал, он «знает», что это не сеанс входа в систему, поэтому вместо этого вызывает .bashrc .

Вы можете подтвердить это с помощью следующей команды, результат которой вы можете указать в своем Вопросе: grep '\ 12

Поисковые команды в истории с прерывистыми ключевыми словами 14.01.2017
Я задавался вопросом, как искать команды в истории, не зная первые несколько букв команды? При поиске использования Ctrl-R в ударе нужно дать первые несколько букв команды...
  • 1
    подсказка debian повреждается 27.09.2013
    Когда я вхожу в систему через ssh, или от консоли это - то, что я вижу: № 1 SMP Linux sensu.lbox.com 3.2.0-4-amd64 Debian 3.2.46-1+deb7u1 x86_64 программы, включенные с системой GNU/Linux Debian, свободен...
  • 5
    Пробелы для переменных в сценарии bash 09.03.2017
    У меня есть пробел в одном из имен каталогов. Я хочу перечислить файл под ним из сценария bash. Вот мой сценарий: fpath = "$ {HOME} / \" New Folder \ "/ foobar.txt" echo "fpath = ($ {fpath})" #fpath = "$ {HOME} / $ ...
  • 22
    Экспортируйте огибающую переменную, чтобы быть доступными во всех оболочках sub и возможными быть измененными? 28.02.2011
    Предположим, что у меня есть MY_VAR=0 экспорта в ~/.bashrc. У меня есть открытый терминал гнома, и в этом терминале, я изменяю значение $MY_VAR на 200. Так, если я действительно повторяю $MY_VAR в этом терминале, 200 показан. Теперь, я...
  • 0
    Почему я не вижу задание «wget» при его выполнении в фоновом режиме? 11.01.2019
    Я использую команду wget в фоновом режиме, как этот wget -bq, и она печатает Продолжение в фоновом режиме, pid 31754. Но когда я набираю командные задания, я не вижу свою работу (хотя загрузка не...
  • 7
    Передача 'false' не дает не -нулевой код результата 21.04.2020
    Я понимаю, что это :правда; эхо "$?" #0 ложный; эхо "$?" #1 правда | эхо "$?" #0 Но не это :false | эхо "$?" #0...Почему не печатается 1? И как я мог заставить...
  • -2
    Использование `;` в составных командах [закрыто] 13.04.2017
    Синтаксис команды for следующий: for name [ [in [words ...] ] ; ] do commands; done Синтаксис команды case следующий: case word in [ [(] pattern [| pattern]...) command-list ;;]... esac The ...