User Tools

Site Tools


infrastructure:vnc

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
infrastructure:vnc [2022/01/17 13:30] – [Vncviewer after Reboot] s_fuyedcinfrastructure:vnc [2025/09/10 10:51] (current) – [Method for Ubuntu 20.04] pmania
Line 74: Line 74:
 If a visual connection is temporarily not required, meaning if CLI suffices, use ssh to connect to the server and run //byobu// for a comfortable, multi-terminal environment. This is especially advised when monitoring rosnodes running on the server. The byobu instance is shared among all clients connected to the server. By detaching from the byobu session (F6) other users can re-use the shell command, executed by previous users. If a visual connection is temporarily not required, meaning if CLI suffices, use ssh to connect to the server and run //byobu// for a comfortable, multi-terminal environment. This is especially advised when monitoring rosnodes running on the server. The byobu instance is shared among all clients connected to the server. By detaching from the byobu session (F6) other users can re-use the shell command, executed by previous users.
  
-=====Method for Ubuntu 20.04===== +=====Method for Ubuntu 20.04 and 24.04=====
-This method has just recently been discovered and tested. If you encounter any issues, feel free to edit this section if some steps require workarounds or similar.+
  
 Test platform:  Test platform: 
  
-  - Ubuntu 20.04+  - Ubuntu 20.04 and 24.04
   - Default Window Manager   - Default Window Manager
  
Line 97: Line 96:
  
 The next steps will be done on your client machine. The next steps will be done on your client machine.
-VNC itself comes per default without any encryption. This would mean that your keypresses and the screen could be sniffed. This is why we'll create a SSH tunnel to the remote machine and pipe the whole VNC traffic through it.+VNC itself comes per default without any encryption. This would mean that your keypresses and the screen could be sniffed. This is why we'll create a SSH tunnel to the remote machine and pipe the whole VNC traffic through it. This is also easier to setup then the other auth methods. 
 Please go to your client machine and execute the following command to create the SSH tunnel and start the VNC server on the remote machine. Please go to your client machine and execute the following command to create the SSH tunnel and start the VNC server on the remote machine.
  
 +For 20.04:
 <code> <code>
 # on your client machine # on your client machine
 ssh USERNAME@REMOTE.SERVER.IP -t -t -L 5900:localhost:5900  "x0vncserver -localhost -passwordfile ~/.vnc/passwd -display :1" ssh USERNAME@REMOTE.SERVER.IP -t -t -L 5900:localhost:5900  "x0vncserver -localhost -passwordfile ~/.vnc/passwd -display :1"
 +</code>
 +
 +For 24.04:
 +<code>
 +# on your client machine
 +ssh USERNAME@REMOTE.SERVER.IP -t -t -L 5902:localhost:5902  "x0vncserver -localhost -passwordfile ~/.vnc/passwd -fg -display :2"
 </code> </code>
 Please let this command and the terminal running it open while you want to work with VNC. Please let this command and the terminal running it open while you want to work with VNC.
Line 115: Line 122:
 </code> </code>
  
-In the tigervnc-viewer, first open the options and set the compression to 'auto'+In the tigervnc-viewer, first open the options and set the compression to 'auto'. In the security options, allow Encryption:None if it is not ticked already
-Afterwards, you can enter 'localhost' in the connection dialog and hit Connect.+Afterwards, you can enter '**localhost**' in the connection dialog and hit Connect if you're on Ubuntu 20.04. 
 +For 24.04, please enter '**localhost:2**'
 +Please note: Please __do not__ enter the IP address of your remote machine here, but really 'localhost'. This works, because we have a SSH tunnel running (see above).
  
 **Important: Once after every reboot, a user must log in to the server on site, because the virtual display is only launched after the first user's login.** This is similar to the 18.04 method mentioned above. **Important: Once after every reboot, a user must log in to the server on site, because the virtual display is only launched after the first user's login.** This is similar to the 18.04 method mentioned above.
Line 122: Line 131:
 ====Vncviewer after Reboot==== ====Vncviewer after Reboot====
  
-After reboot the desired display :1 is not loaded until you logged in on display :0. We need to connect to display :0 once after rebooting. With x11vnc you can easily open :0.+Tested with GDM3 (20.04 default display manager). 
 + 
 +After reboot the desired display :1 is not loaded until you logged in on display :0. We need to connect to display :0 once after rebooting. With x11vnc you can easily open :0. A newly set-up system needs one UI login to establish general display settings.
  
 <code> <code>
-# on your host machine+# on the remote machine
 sudo apt-get update sudo apt-get update
 sudo apt-get install x11vnc sudo apt-get install x11vnc
 </code> </code>
  
-Now from the client you can launch x11vnc similar to the x0vncserver.+Get onto the remote machine and look for the Xauthority file in /run/user/ 
 + 
 +<code> 
 +# on the remote machine 
 +sudo find /run/user/ -name Xauthority 
 +</code> 
 + 
 +This will yield at least two paths, one with a 4-digit named directory, and another with 3 digits. We need the path with 3-digits. Now from the client you can launch x11vnc similar to the x0vncserver. Specify the path to Xauthority and replace '125' with yours.
  
 <code> <code>
Line 139: Line 157:
  
 Connect to x11vnc with vncviewer, it will show the login display :0. After login, close the connection  and use x0vncserver to launch display :1. Connect to x11vnc with vncviewer, it will show the login display :0. After login, close the connection  and use x0vncserver to launch display :1.
- 
- 
- 
  
infrastructure/vnc.1642426250.txt.gz · Last modified: 2022/01/17 13:30 by s_fuyedc

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki