SSH - uruchamianie programów z graficznym interfejsem
Aby uruchomić aplikację desktop z graficznym interfejsem na serwerze, do którego łączymy się za pośrednictwem konsoli SSH należy dodać do polecenia ssh
argument -Y
lub -X
(zobacz ssh man).
Przykładowe polecenie:
ssh -Y user@server
Uruchamianie aplikacji za pomnocą poleceń sudo
oraz su
Zdarza się, że mamy uprawnienia i musimy uruchamiać daną aplikację jako inny użytkownik (w imieniu innego użytkownika). Nie możemy jednak wykonać operacji komunikacji ssh
do serwera jako ten użytkownik, albowiem jest on zablokowany lub posiada inne ograniczenia. Ale możemy wykonać operację sudo
lub su
. W tej sytuacji uzyskany za pomocą pocecenia xauth list
token należy skopiować do listy tokenów danego użytkownika za pomocą polecenia xauth add
.
Przykład dla operacji sudo
:
ssh -Y slawas@localtest-001
[slawas@localtest-001]$ echo $DISPLAY
localhost:10.0
[slawas@localtest-001 ~]$ xauth list
localtest-001/unix:10 MIT-MAGIC-COOKIE-1 b70bc7a53f229b6a88e47a01c8d26ce4
[slawas@localtest-001 ~]$ sudo xauth add localtest-001/unix:10 MIT-MAGIC-COOKIE-1 b70bc7a53f229b6a88e47a01c8d26ce4
[slawas@localtest-001 ~]$ cd /opt/IBM/install/IM64/
[slawas@localtest-001 IM64]$ sudo ./install
#... działa!
Przykład dla operacji su
:
ssh -Y slawas@localtest-001
[slawas@localtest-001]$ echo $DISPLAY
localhost:10.0
[slawas@localtest-001 ~]$ xauth list
localtest-001/unix:10 MIT-MAGIC-COOKIE-1 b70bc7a53f229b6a88e47a01c8d26ce4
[slawas@localtest-001 ~]$ su - bpmadmin
[bpmadmin@localtest-001 ~]$ xauth add localtest-001/unix:10 MIT-MAGIC-COOKIE-1 b70bc7a53f229b6a88e47a01c8d26ce4
[bpmadmin@localtest-001 ~]$ cd /opt/IBM/install/IM64/
[bpmadmin@localtest-001 IM64]$ ./install
#... działa!
Konfiguracja serwera
Aby móc zrealizoawć zadanie uruchomienia aplikacji z graficznym interfejsem na serwerze muszą być również spełnione odpowiednie wymagania.
Wymagane pakiety na serwerze
Przede wszystkim musi być zainstalowany xauth
. Sprawdź czy masz zainstalowane i ewentualnie zainstaluj następujące pakiety:
- libaio (sama biblioteka, bez powiązania z jakimś produktem)
- gtk2 (GTK+, GIMP Toolkit)
- libXtst
- xorg-x11-xauth
- xorg-x11-fonts-* (opcjonalne)
- xorg-x11-utils (opcjonalne)
Przykład instalacji pakietów dla systemu operacyjnego CentOS:
sudo yum install libaio gtk2 libXtst xorg-x11-xauth xorg-x11-fonts-* xorg-x11-utils
Konfiguracja serwera SSH
Aby móc realizować zadanie uruchomienia aplikacji z graficznym interfejsem na serwerze należy skonfigurować serwer SSH z odpowiednimi parametrami w pliku /etc/ssh/sshd_config
. Zweryfikuj czy masz ustawione parametry:
X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost yes