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
Keine Bearbeitungszusammenfassung
 
(21 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{Head_en}}
{{Languages|en}}


{{Projekt
{{Projekt
|image=No-Logo.png
|image=No-Logo.png
|involved=[[User:anlumo|anlumo]] [[User:datacop|datacop]] [[Hetti]]
|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).


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]).
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 =
== Use cases ==


* Make presentations on the projector without an HDMI connection.
* Make presentations on the projector without an HDMI connection.
Zeile 20: Zeile 20:
* Make a screen recording of an HDMI source (like a notebook).
* 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:1em;">
|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).
Zeile 30: Zeile 30:
|}
|}


= Usage Instructions =
== Usage Instructions ==


The computer's IP is <code>10.20.30.111</code>. To remote control the computer, connect to [http://libremote.lan this address] or via IP [http://10.20.30.111 here]. 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>].


=== Power on Procedure ===
The HDMI-Switch and the computer are located over the printer to the left when entering the library.
# To use it, you have to power on the HDMI-Switch and connected devices. To do this, locate the "BibAudio" switch on the [http://smart.metalab.at/lovelace/0 SmartLab Home dashboard] and make sure that it's activated.
# Check if the LibRemote PC is active (button has a white light enabled) as the Input Device on the HDMI-Switch. It is <b>Input 5</b>.
# Usually the computer is turned off. Wake on Lan ([https://en.wikipedia.org/wiki/Wake-on-LAN WoL]) is enabled and you can boot the PC via Magic packet. Various (CLI) tools exist, see [https://wiki.archlinux.org/title/Wake-on-LAN#Trigger_a_wake_up Trigger Wake up on Arch Wiki]<br> MAC Address for WoL: <code>e4:e7:49:47:92:77</code><br> Alternatively, you can power the computer on manually with the small powerbutton on the front, you probably need a ladder, to reach the computer.
<b> Please turn off the setup after usage! Therefore activate the "AudioVideo" button again, as stated in 1.2. !</b>
=== Usage Guide ===
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.
* ''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 />
Desktop Session starts screen sharing within the web browser. There are two ways this works, which you can set with the other two items:
&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.
* ''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).
&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).


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).
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.


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.


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'. <br>
'''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 VNC, use the web client for that feature!)</small>
<b>Attention:</b> GNOME Remote Desktop Feature does not support Extend Mode with VLC, use the web client for that feature!


== HDMI Input ==
== HDMI Input ==


The computer has a USB HDMI capture card attached. It is available as /dev/video0 and verified accessible from OBS and VLC. It's attached to output B of the library HDMI switch.
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.


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.
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.
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.
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 =
== 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.)
* '''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)
* LibreOffice '''Impress''' (like PowerPoint)
* Terminal
* '''Terminal'''
* VLC (for video/audio playback and streaming)
* '''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 =
== Ansible Script ==
The Setup can be automatically deployed by an Ansible Script.
The setup can be automatically deployed by an Ansible script.
The Repo can be found here: https://github.com/Metalab/Ansible-Libremote
The repo can be found here: https://github.com/Metalab/Ansible-LibRemote


= Changelog =
== Changelog ==
End of December 2022 - [[Benutzer:Anlumo]] manually configured and tested out the Gnome-Remote-Desktop Capabilites of Ubuntu 22.04 in combination with Guacamoly Server and Guacamole Client + Tomcat </br>
* …
02.01.2023 - [[Hetti]] implemented the full web client remote desktop capability deployment in Ansible.
* 10.05.2023 - [[Hetti]] Deutsche Übersetzung unter [[LibRemote/de]]
02.01.2023 - [[Hetti]] & [[Benutzer:Anlumo]] implemented the HDMI Audio fix, added Tweaks and deployed on a fresh Ubuntu 22.04 installation.
* 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

Aktuelle Version vom 12. Mai 2023, 17:08 Uhr

Language: English Deutsch



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-05-12


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.

Power on Procedure

The HDMI-Switch and the computer are located over the printer to the left when entering the library.

  1. To use it, you have to power on the HDMI-Switch and connected devices. To do this, locate the "BibAudio" switch on the SmartLab Home dashboard and make sure that it's activated.
  2. Check if the LibRemote PC is active (button has a white light enabled) as the Input Device on the HDMI-Switch. It is Input 5.
  3. Usually the computer is turned off. Wake on Lan (WoL) is enabled and you can boot the PC via Magic packet. Various (CLI) tools exist, see Trigger Wake up on Arch Wiki
    MAC Address for WoL: e4:e7:49:47:92:77
    Alternatively, you can power the computer on manually with the small powerbutton on the front, you probably need a ladder, to reach the computer.

Please turn off the setup after usage! Therefore activate the "AudioVideo" button again, as stated in 1.2. !

Usage Guide

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 VNC, 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

  • 10.05.2023 - Hetti Deutsche Übersetzung unter LibRemote/de
  • 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