Войдите в суперпользователь для того, чтобы запустить скрипт

Вы выполняете xterm из своей сессии Gnome также?

Попробуйте это в Терминале Gnome:

echo $SSH_AUTH_SOCK

Затем попробуйте то же в xterm.

Это должно распечатать что-то как

/tmp/keyring-abc123/ssh

в обоих.

Я предполагаю, что это не печатает что-то как этот в xterm.

Если это пусто, что-то очищает его (или не устанавливает его).

Если взгляды больше как

/tmp/ssh-defgh67890/agent

затем Вы также выполняете ssh-агент куда-нибудь, который станет сбивающим с толку.

Вот то, что я попробовал бы:

Выполненный echo $0 в обоих. Делает каждый имеет - в запуске и другом нет?

Если так, Вы, вероятно, выполняете ssh-агент в оболочках входа в систему, но не оболочках невхода в систему. Взгляните в Вашем ~/.bashrc или ~/.bash_profile или эквивалентные сценарии и решают проблему.

Или изменение, запускается ли xterm как оболочка входа в систему:

  1. использование xterm*loginShell: true или xterm*loginShell: false в Вашем ~/.Xdefaults или ~/.xresources?
  2. путем выполнения xterm -ls или xterm (без -ls)

Скопируйте установку, Вы имеете для Терминала Gnome под Предпочтениями Профиля-> Заголовок и Команда-> Команда выполнения как оболочка входа в систему.

Если это перестало работать, попытайтесь добавить echo операторы в Ваших файлах запуска. Необходимо будет перенаправить вывод к использованию файла журнала echo $SSH_AUTH_SOCK >> ~/ssh-debug.log или подобный.

Затем выйдите из системы и въезжайте задним ходом и взгляните на Ваш ~/ssh-debug.log.

Затем выполненный Терминал Gnome и взгляд на него снова.

Затем выполненный xterm и взгляд и взгляд на него снова.

Ищите различия.

Взгляните на/etc/pam.d/gdm и Систему-> Предпочтения-> Приложения Запуска. У Вас есть какая-либо другая конфигурация ssh-агента где-нибудь в/etc/pam.d?

Посмотрите /etc/X11/Xsession и сценарии, которые это называет.

1
05.10.2012, 09:43
2 ответа

Таким образом, я предлагаю использовать:

su -l oracle1

1
27.01.2020, 23:39

Это может быть грязный взлом, но это будет работать :)

Изменить /etc/passwd файл путем замены /bin/sh тег oracle1 пользователя к ls и это - корневой каталог к /u02/dba Также используйте su -l oracle1 в Вашем sample.sh сценарий.

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

1
27.01.2020, 23:39
  • 1
    , мне понравилось это на самом деле.. любите те грязные взломы, когда они будут работать :D –  amyassin 05.10.2012, 12:22

Теги

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