LibRemote: Unterschied zwischen den Versionen

aus Metalab Wiki, dem offenen Zentrum für meta-disziplinäre Magier und technisch-kreative Enthusiasten.
Zur Navigation springenZur Suche springen
(warnings!)
(19 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 3: Zeile 3:
 
{{Projekt
 
{{Projekt
 
|image=No-Logo.png
 
|image=No-Logo.png
|involved=[[User:anlumo|anlumo]] [[User:datacop|datacop]]
+
|involved=[[User:anlumo|anlumo]], [[User:datacop|datacop]], [[Hetti]]
|status=in progress
+
|status=basic setup done - still not feature complete
 
|wtf=A small computer in the library for computerless presentations and media display
 
|wtf=A small computer in the library for computerless presentations and media display
 
}}
 
}}
  
Libremote is a small computer running Ubuntu 22.04.1 LTS that's installed in the network rack in the Metalab library. It is connected to the HDMI switch (port 5).
+
'''LibRemote''' is a small computer running Ubuntu 22.04.1 LTS that's installed in the network rack in the Metalab library. It is connected to the HDMI switch (port 5).
  
= Use cases =
+
It's a [https://support.hp.com/us-en/document/c06045012 HP EliteDesk 800 G4-Desktop-Mini-Business-PC 35W] ([http://h10032.www1.hp.com/ctg/Manual/c06063157 Maintenance and Service Guide]).
 +
 
 +
== Use cases ==
  
 
* Make presentations on the projector without an HDMI connection.
 
* Make presentations on the projector without an HDMI connection.
Zeile 16: Zeile 18:
 
* Play video or music without having a computer connected.
 
* Play video or music without having a computer connected.
 
* Use a Linux computer for a presentation while on a non-Linux device.
 
* Use a Linux computer for a presentation while on a non-Linux device.
 +
* Make a screen recording of an HDMI source (like a notebook).
  
= Warnings =
+
== Warnings ==
  
 +
{|
 +
|bgcolor="#ffa500"|<div style="border:2px dotted #ff4500;color:black;line-height:2.1em;padding:0.8em;">
 +
'''
 
This is a public device! Do not store anything needing privacy on this device. Do not enter any passwords on this device (other than its own login password of course).
 
This is a public device! Do not store anything needing privacy on this device. Do not enter any passwords on this device (other than its own login password of course).
  
Also, this device might be reset to factory defaults at any point. Do not rely on stuff staying on the device when you aren't actively using it.
+
Also, this device might be reset to factory defaults at any point. Do not rely on stuff staying on the device when you aren't actively using it.'''</div>
 +
|}
  
= Usage Instructions =
+
== Usage Instructions ==
  
The computer's IP is <code>10.20.31.48</code>. To remote control the computer, connect to [http://10.20.31.48:8080/guacamole/ this address]. The login is metalab/metalab. After logging in, you're going to see these items:
+
The computer's IP is [http://10.20.30.111 <code>10.20.30.111</code>] and the DNS name is [http://libremote.lan <code>libremote.lan</code>].
  
 +
To remote control the computer, connect to '''http://10.20.30.111'''. The login is '''metalab/metalab'''.
 +
 +
After logging in, you're going to see these items:
 +
 +
{|
 +
|bgcolor="#D3D3D3"|<div style="border:1px;padding:1em;">
 +
* Remote Shell
 
* Desktop Session
 
* Desktop Session
* Remote Shell
 
 
* Set to Extend Mode
 
* Set to Extend Mode
 
* Set to Mirror Mode
 
* Set to Mirror Mode
 
* Shutdown
 
* Shutdown
 +
|}
 +
 +
* ''Remote Shell'' is simply a connection for a terminal via SSH within the web browser.
 +
* ''Desktop Session'' starts screen sharing within the web browser.<br />
 +
&nbsp;&nbsp;&nbsp;There are two ways this works, which you can set with the other two items:
 +
* ''Extend Mode'': A virtual screen is added to the machine, which is then shown in the browser. The mouse in the browser can only access this screen, but apps can display things on the screen shown on the projector as well. This is useful for presenter's displays and streaming displays (like the OBS interface).
 +
* ''Mirror Mode'': The screen visible on the projector is also shown in the web browser. Remote mouse and keyboard work as expected.
 +
&nbsp;&nbsp;&nbsp;Activating one of these modes applies for a new connection, an existing connection remains unaffected.
 +
* ''Shutdown'' shuts down the computer directly from this interface (executes <code>sudo shutdown -h now</code> in a terminal). You can also shut it down from the UI in screen sharing mode (there's a warning that another user is connected, but that's yourself so that's fine).
  
Remote Shell is simply a connection for a terminal via ssh within the web browser.
 
  
Desktop Session starts screen sharing within the web browser. There are two ways this works, which you can set with the other two items:
+
Note that you can also use a regular '''RDP client''' on your own device instead of the web application. The login information is the same, the IP is <code>10.20.30.111</code> and the port is 3389 (the default). This was tested on the [https://apps.apple.com/us/app/remote-desktop-mobile/id714464092 Remote Desktop Mobile] app by Microsoft on an iPad.
  
* Mirror Mode: The screen visible on the projector is also shown in the web browser. Remote mouse and keyboard work as expected.
 
* Extend Mode: A virtual screen is added to the machine, which is then shown in the browser. The mouse in the browser can only access this screen, but apps can display things on the screen shown on the projector as well. This is useful for presenter's displays and streaming displays (like the OBS interface).
 
  
Activating one of these modes applies for a new connection, an existing connection remains unaffected.
+
'''VNC''' is supported, the IP is <code>10.20.30.111</code> and the port is 5900 (the default). You can use your own favourite VNC Client to connect to the device. Password is '''metalab'''. <small>('''Attention:''' GNOME Remote Desktop does not support Extend Mode with VLC, use the web client for that feature!)</small>
  
Shutdown shuts down the computer directly from this interface (executes <code>sudo shutdown -h now</code> in a terminal). You can also shut it down from the UI in screen sharing mode (there's a warning that another user is connected, but that's yourself so that's fine).
+
== HDMI Input ==
  
Note that you can also use a regular RDP client on your own device instead of the web application. The login information is the same, the IP is <code>10.20.31.48</code> and the port is 3389 (the default). This was tested on the [https://apps.apple.com/us/app/remote-desktop-mobile/id714464092 Remote Desktop Mobile] app by Microsoft on an iPad.
+
The computer has a USB HDMI capture card attached, available as /<code>dev/video0</code> and verified accessible from OBS and VLC. It's attached to '''output B''' of the library HDMI switch.
  
VNC is not supported at the moment. This is mostly due to GNOME not supporting Extend Mode with it.
+
The idea is that you can use this device to capture a screen recording from a notebook attached to the projector setup without having to change anything on the notebook itself. This also means that it can capture video from anything attached to HDMI, like a game console or a mobile phone.
  
= Installed Applications =
+
For proper operation the video format has to be set to ''''Motion JPEG'''', resolution '''1920x1080''', framerate '''30 fps''' (60 fps doesn't work unfortunately). Color range is recommended to be set to '''full'''.
  
* OBS: Streaming application (Can be used in Extend Mode to do PiP, show only a single window or do other fancy stuff. Can also do screen recordings.)
+
Note that you can only capture the same output shown on the projector, so if you set the HDMI switch's output to the LibRemote computer, you get a magic mirror effect if you display the video stream in a window.
* LibreOffice Impress (like PowerPoint)
+
 
* Terminal
+
== Installed Applications ==
 +
 
 +
* '''OBS''' (Streaming application, can be used in Extend Mode to do PiP, show only a single window or do other fancy stuff. Can also do screen or HDMI capture recordings.)
 +
* LibreOffice '''Impress''' (like PowerPoint)
 +
* '''Terminal'''
 +
* '''VLC''' (for video/audio playback and streaming)
  
 
Suggestions for other applications useful for this device are welcome!
 
Suggestions for other applications useful for this device are welcome!
 +
 +
== Ansible Script ==
 +
The setup can be automatically deployed by an Ansible script.
 +
The repo can be found here: https://github.com/Metalab/Ansible-LibRemote
 +
 +
== Changelog ==
 +
* …
 +
* 20.01.2023 - [[Hetti]] implemented the passwordless shutdown, tested successfully the Wake on LAN (WoL) feature and updated the README.
 +
* 14.01.2023 - [[Hetti]] & [[Benutzer:Anlumo|Anlumo]] implemented the HDMI audio fix, added tweaks and deployed on a fresh Ubuntu 22.04 installation.
 +
* 02.01.2023 - [[Hetti]] implemented the full web client remote desktop capability deployment in Ansible.
 +
* 12.2022 - [[Benutzer:Anlumo|Anlumo]] manually configured and tested out the Gnome-Remote-Desktop capabilites of Ubuntu 22.04 in combination with Guacamole Server and Guacamole Client + Tomcat

Version vom 21. Januar 2023, 12:37 Uhr

Language: English Deutsch
Subpages:



LibRemote
No-Logo.png
Gestartet:
Involvierte: anlumo, datacop, Hetti
Status: basic setup done - still not feature complete
Beschreibung: A small computer in the library for computerless presentations and media display
Shutdownprozedur:
Zuletzt aktualisiert: 2023-01-21


LibRemote is a small computer running Ubuntu 22.04.1 LTS that's installed in the network rack in the Metalab library. It is connected to the HDMI switch (port 5).

It's a HP EliteDesk 800 G4-Desktop-Mini-Business-PC 35W (Maintenance and Service Guide).

Use cases

  • Make presentations on the projector without an HDMI connection.
  • Make presentations from a tablet via network.
  • Play video or music without having a computer connected.
  • Use a Linux computer for a presentation while on a non-Linux device.
  • Make a screen recording of an HDMI source (like a notebook).

Warnings

This is a public device! Do not store anything needing privacy on this device. Do not enter any passwords on this device (other than its own login password of course).

Also, this device might be reset to factory defaults at any point. Do not rely on stuff staying on the device when you aren't actively using it.

Usage Instructions

The computer's IP is 10.20.30.111 and the DNS name is libremote.lan.

To remote control the computer, connect to http://10.20.30.111. The login is metalab/metalab.

After logging in, you're going to see these items:

  • Remote Shell
  • Desktop Session
  • Set to Extend Mode
  • Set to Mirror Mode
  • Shutdown
  • Remote Shell is simply a connection for a terminal via SSH within the web browser.
  • Desktop Session starts screen sharing within the web browser.

   There are two ways this works, which you can set with the other two items:

  • Extend Mode: A virtual screen is added to the machine, which is then shown in the browser. The mouse in the browser can only access this screen, but apps can display things on the screen shown on the projector as well. This is useful for presenter's displays and streaming displays (like the OBS interface).
  • Mirror Mode: The screen visible on the projector is also shown in the web browser. Remote mouse and keyboard work as expected.

   Activating one of these modes applies for a new connection, an existing connection remains unaffected.

  • Shutdown shuts down the computer directly from this interface (executes sudo shutdown -h now in a terminal). You can also shut it down from the UI in screen sharing mode (there's a warning that another user is connected, but that's yourself so that's fine).


Note that you can also use a regular RDP client on your own device instead of the web application. The login information is the same, the IP is 10.20.30.111 and the port is 3389 (the default). This was tested on the Remote Desktop Mobile app by Microsoft on an iPad.


VNC is supported, the IP is 10.20.30.111 and the port is 5900 (the default). You can use your own favourite VNC Client to connect to the device. Password is metalab. (Attention: GNOME Remote Desktop does not support Extend Mode with VLC, use the web client for that feature!)

HDMI Input

The computer has a USB HDMI capture card attached, available as /dev/video0 and verified accessible from OBS and VLC. It's attached to output B of the library HDMI switch.

The idea is that you can use this device to capture a screen recording from a notebook attached to the projector setup without having to change anything on the notebook itself. This also means that it can capture video from anything attached to HDMI, like a game console or a mobile phone.

For proper operation the video format has to be set to 'Motion JPEG', resolution 1920x1080, framerate 30 fps (60 fps doesn't work unfortunately). Color range is recommended to be set to full.

Note that you can only capture the same output shown on the projector, so if you set the HDMI switch's output to the LibRemote computer, you get a magic mirror effect if you display the video stream in a window.

Installed Applications

  • OBS (Streaming application, can be used in Extend Mode to do PiP, show only a single window or do other fancy stuff. Can also do screen or HDMI capture recordings.)
  • LibreOffice Impress (like PowerPoint)
  • Terminal
  • VLC (for video/audio playback and streaming)

Suggestions for other applications useful for this device are welcome!

Ansible Script

The setup can be automatically deployed by an Ansible script. The repo can be found here: https://github.com/Metalab/Ansible-LibRemote

Changelog

  • 20.01.2023 - Hetti implemented the passwordless shutdown, tested successfully the Wake on LAN (WoL) feature and updated the README.
  • 14.01.2023 - Hetti & Anlumo implemented the HDMI audio fix, added tweaks and deployed on a fresh Ubuntu 22.04 installation.
  • 02.01.2023 - Hetti implemented the full web client remote desktop capability deployment in Ansible.
  • 12.2022 - Anlumo manually configured and tested out the Gnome-Remote-Desktop capabilites of Ubuntu 22.04 in combination with Guacamole Server and Guacamole Client + Tomcat