if [ `egrep 'MyParameter|^\[.*\]$' file.conf | head -2 | tail -1` == "MyParameter" ]
then
echo Success
else
echo Failure
fi
Одно возможное объяснение состоит в том, что из-за некоторого недавнего изменения местоположение X файлов cookie изменилось от ~/.Xauthority
к некоторому местоположению, обозначенному $XAUTHORITY
. X файлов cookie содержат пароль, который должны обеспечить X приложений при соединении с X-сервером. (См. первую часть этого ответа для большего количества фона.)
Удостоверьтесь что XAUTHORITY
переменная не стирается sudo
. Выполненный visudo
добавить эту строку к sudoers
файл:
Defaults env_keep += XAUTHORITY
Связанная возможность - это, если Вы не имеете XAUTHORITY
в Вашей среде X cookie хранятся в ~/.Xauthority
. Если HOME
переменная среды не сохраняется sudo
, затем эти X приложений, работающих под sudo
заглянет ~root/.Xauthority
который не имеет правильного cookie. Существует три простых способа решить это от самого удобного до менее удобного:
env_reset
опция в sudoers
(когда можно выполнить произвольные команды как целевой пользователь, нет никакого реального преимущества безопасности для env_reset
), и не включать set_home
.Сюда, ~/.Xauthority
под sudo
все еще обращается к корневому каталогу вызывающего абонента.sudo
сохранить XAUTHORITY
переменная как выше, и набор XAUTHORITY
в Ваших X файлах запуска сессии, даже если это - значение по умолчанию.Набор XAUTHORITY
использование корневого каталога вызывающего абонента в sudo
сессия, например, путем выполнения
sudo env XAUTHORITY=${XAUTHORITY:-~/.Xauthority} xterm
Defaults env_keep += XAUTHORITY
кому:sudoers
теперь, что? ошибка является все еще там – Lynob 14.02.2012, 18:31sudo
, это могло быть другой проблемой, определяющей местоположение X cookie, видеть мое редактирование. – Gilles 'SO- stop being evil' 16.02.2012, 21:46sudo env XAUTHORITY=${XAUTHORITY:-~/.Xauthority} xterm
дает мнеNo protocol specified Warning: This program is an suid-root program or is being run by the root user. The full text of the error or warning message cannot be safely formatted in this environment. You may get a more descriptive message by running the program as a non-root user or by removing the suid bit on the executable. xterm Xt error: Can't open display: %s
Таким образом, как сделать другие 2 опции сэр? Я не :) – Lynob 16.02.2012, 23:48export XAUTHORITY=~/.Xauthority; sudo xterm
? У Вас может быть другая, более редкая проблема, чем, что я первоначально подозревал. – Gilles 'SO- stop being evil' 17.02.2012, 01:00