doc:appunti:linux:tux:remote_desktop
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| doc:appunti:linux:tux:remote_desktop [2009/09/18 10:14] – niccolo | doc:appunti:linux:tux:remote_desktop [2024/12/09 11:27] (current) – [Sessione X11 remota con client e server dietro firewall] niccolo | ||
|---|---|---|---|
| Line 21: | Line 21: | ||
| ===== x11vnc ===== | ===== x11vnc ===== | ||
| - | L' | + | Il programma |
| - | Con '' | + | Sulla postazione che vuole **condividere lo schermo X11** (il server) si installa il pacchetto **x11vnc**, sul client remoto si installa un client VNC, ad esempio **xtightvncviewer** contenuto nell'omonimo pacchetto Debian (es. Debian 10 Buster). |
| + | |||
| + | Esaminando il contenuto della variabile d' | ||
| + | |||
| + | < | ||
| + | x11vnc | ||
| + | </ | ||
| + | |||
| + | L'utente remoto esegue invece: | ||
| < | < | ||
| - | # ps uax | grep X | grep auth | + | xtightvncviewer |
| - | root 1839 0.2 3.8 19572 9880 ? S< 18:59 0:28 / | + | |
| - | x11vnc -auth / | + | |
| </ | </ | ||
| - | Quindi ci si connette con un client VNC alla porta opportuna (default 5900). La sessione termina al logout dell' | + | In alternativa |
| - | Anche '' | + | Con '' |
| < | < | ||
| - | x11vnc -httpdir / | + | x11vnc -auth guess -display :0 -noxdamage |
| </ | </ | ||
| - | ===== Reverse | + | Il parametro **guess** tenta di indovinare automaticamente qual' |
| + | |||
| + | Il parametro **-noxdamage** disabilita una estensione del protocollo che dovrebbe ottimizzare la ritrasmissione solo delle porzioni dello schermo che cambiano, purtroppo nel nostro caso (Debian 11) causava continui problemi di tipo **caught XIO error**. | ||
| + | |||
| + | < | ||
| + | ps uax | grep Xorg | grep auth | ||
| + | ... / | ||
| + | </ | ||
| + | |||
| + | ==== Condivisione dekstop | ||
| + | |||
| + | Il programma **'' | ||
| + | |||
| + | < | ||
| + | x11vnc -ncache 10 -viewonly -passwd MySecret -speeds dsl | ||
| + | </ | ||
| + | |||
| + | In teoria l' | ||
| + | ===== X11vnc con reverse | ||
| Se l'host remoto è dietro ad un firewall, è possibile realizzare una connessione inversa dove il server VNC contatta il client in ascolto. | Se l'host remoto è dietro ad un firewall, è possibile realizzare una connessione inversa dove il server VNC contatta il client in ascolto. | ||
| Line 54: | Line 78: | ||
| x11vnc -connect < | x11vnc -connect < | ||
| </ | </ | ||
| + | |||
| + | ===== Sessione X11 remota con client e server dietro firewall ===== | ||
| + | |||
| + | Nel caso in cui sia il server che il client si trovino dietro a rispettivi firewall, è possibile utilizzare un **server proxy** tramite il quale far transitare il traffico. Sul server proxy è necessario avere un **accesso ssh** e che sia presente l' | ||
| + | |||
| + | Questo uno esempio di script da eseguire come utente root sul server che vuole condividere la sessione X11: | ||
| + | |||
| + | <code bash> | ||
| + | #!/bin/sh | ||
| + | |||
| + | PROXY_SERVER=' | ||
| + | PROXY_PORT=' | ||
| + | |||
| + | DISPLAY=" | ||
| + | if [ " | ||
| + | DISPLAY="" | ||
| + | fi | ||
| + | |||
| + | echo " | ||
| + | echo " | ||
| + | echo "where sshd must be running with the option \" | ||
| + | echo | ||
| + | echo "The client must already be connected to the proxy with:" | ||
| + | echo | ||
| + | echo " | ||
| + | echo " | ||
| + | echo | ||
| + | echo " | ||
| + | read -p "Press Enter to continue... " REPLY | ||
| + | set -x | ||
| + | x11vnc -auth guess -display :0 -connect " | ||
| + | </ | ||
| + | |||
| + | Il server **x11vnc** è fornito dall' | ||
| ===== krdc ===== | ===== krdc ===== | ||
| - | KDE Remote Desktop Client, è il client VNC e RDP fornito con l' | + | KDE Remote Desktop Client, è il client VNC e RDP fornito con l' |
| + | |||
| + | Per accedere ad un Remote Dektop Windows si deve installare anche il pacchetto **rdesktop** e lanciare un comando del tipo: | ||
| + | |||
| + | < | ||
| + | krdc rdp:// | ||
| + | </ | ||
| + | |||
| + | ==== Problema mappatura tastiera ==== | ||
| + | |||
| + | C'è un problema se ci si trova in queste condizioni: | ||
| + | |||
| + | * Host remoto configurato per tastiera italiana | ||
| + | * krdc eseguito da client configurato con tastiera italiana | ||
| + | |||
| + | in pratica i tasti che differiscono fra tastiera IT e tastiera US non funzionano. La soluzione è cambiare (anche provvisoriamente, | ||
| + | |||
| + | Il problema è stato riscontrato sia con client **krdc** che con client **remmina**, | ||
| + | ==== Ctrl-Alt-Del ==== | ||
| + | Per inviare la combinazione speciale **'' | ||
| ===== krfb ===== | ===== krfb ===== | ||
| Line 79: | Line 156: | ||
| L' | L' | ||
| + | ==== HTTP proxy con SOCKS5 server ==== | ||
| + | |||
| + | Per navigare usando l'IP di una macchina remota: | ||
| + | |||
| + | aprire una connessione ssh con la macchina remota allocando un socket SOCKS5: | ||
| + | |||
| + | < | ||
| + | ssh -D 8080 remote.host | ||
| + | </ | ||
| + | |||
| + | quindi configurare il browser (es. FireFox): // | ||
| + | |||
| + | Alcuni browser (es. Chromium) accettano l' | ||
| + | |||
| + | < | ||
| + | chromium --proxy-server=socks:// | ||
| + | </ | ||
| ==== X11 forward ==== | ==== X11 forward ==== | ||
| Line 88: | Line 182: | ||
| </ | </ | ||
| - | Per far funzionare il forward automatico di X11 si deve avere (sul server) il programma '' | + | Per far funzionare il forward automatico di X11 si deve avere (sul server) il programma '' |
| Il forward X11 significa che l' | Il forward X11 significa che l' | ||
| Line 94: | Line 188: | ||
| Quando da un client si lancia ssh si può specificare su riga di comando che vogliamo il forward di X11, con l' | Quando da un client si lancia ssh si può specificare su riga di comando che vogliamo il forward di X11, con l' | ||
| + | Si potrebbe incappare nell' | ||
| + | |||
| + | < | ||
| + | X11 forwarding request failed on channel 0 | ||
| + | </ | ||
| + | mostrato subito dopo il login sull' | ||
| + | < | ||
| + | AddressFamily inet | ||
| + | </ | ||
| ==== Comandi in backgroung in shell remota ==== | ==== Comandi in backgroung in shell remota ==== | ||
doc/appunti/linux/tux/remote_desktop.1253261673.txt.gz · Last modified: by niccolo
