Вы выполняете 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 как оболочка входа в систему:
xterm*loginShell: true
или xterm*loginShell: false
в Вашем ~/.Xdefaults
или ~/.xresources
?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
и сценарии, которые это называет.
Это может быть грязный взлом, но это будет работать :)
Изменить /etc/passwd
файл путем замены /bin/sh
тег oracle1 пользователя к ls
и это - корневой каталог к /u02/dba
Также используйте su -l oracle1
в Вашем sample.sh
сценарий.
Так, чтобы, каждый раз, когда Вы запускаете скрипт, точка, где Вы изменяющий пользователя, это покажет список, он был корневой каталог.