===== Wissen über Linux ===== == Konfiguration, Befehle, Distributionen == ((1)) XRDP unter Debian 10 konfigurieren Um mit den Microsoft-Werkzeugen Desktop-Verbindungen zu realisieren und damit zu arbeiten, kann unter Linux XRDP genutzt werden. Da VNC nicht immer intuitiv einzurichten ist und X-Window-System (in meinen Augen als Terminal-Software die cleverste Lösung) nur auf Linux-Maschinen wirklich schnell eingesetzt werden kann, ist dies durchaus eine Alternative - zu Teamviewer etc... ((2)) Xrdp-server installieren und starten ## //als root// apt -y install xrdp systemctl start xrdp systemctl enable xrdp ## ((2)) Probleme ((3)) Typisch für MATE: Falls beim Anmeldeversuch auf einem System mit aktivem MATE-Desktop die Meldung ##Could not acquire name on session bus## (oder so ähnlich) kommt, wird hier das Meiste sinnvoll erklärt: https://bugzilla.redhat.com/show_bug.cgi?id=1381034 Allerdings war bei mir der Grund für die Meldung ein ganz simpler: XRDP lässt den Benutzer nicht rein, wenn dieser bereits eine andere Session für sich geöffnet hat - beispielsweise lokal, gar nicht remote... Nachdem ich mich aus der lokalen Sitzung ausgeloggt habe, funktionierte die Anmeldung sofort (auf Debian XPC - in der VM war das Problem komplett anders (siehe unten))! Im Übrigen siehe auch hier: - https://www.server-world.info/en/note?os=Debian_10&p=desktop&f=8 - https://linuxize.com/post/how-to-install-xrdp-on-debian-10/ ((3)) Anforderungen an Passwort Wenn das Passwort nicht kompliziert genug ist, geht das Login auch nicht... Siehe hier: https://askubuntu.com/questions/1164456/18-04-3-lts-xrdp-login-failed-for-display-0/1219250#1219250 insbesondere im Post mit "Please use good enough username and password [...]". Es sind 3 von 4 Merkmalen im Passwort notwendig: 1) kleine Buchstaben, 2) große, 3) Ziffern, 4) Sonderzeichen ((2)) Probleme mit Tastatur An sich funktioniert XRDP für eine Remote-Session auch in Linux super - egal, ob das ein Microsoft-Protokoll ist oder nicht... Eines der wenigen Probleme ist für mich die Tastaturbelegung. Sie ist bei Anmeldung in der Regel falsch - egal was man tut. Sogar eine Veränderung der Fenstergröße für die XRDP-Session führt zum Verlust des Layouts... Folgende Punkte können überprüft werden: %%(perl) # locale - Einstellungen prüfen und korrigieren: localectl status # = Einstellungen prüfen; wenn de nicht korrekt überall: localectl set-x11-keymap de # das hilft aber nicht immer! deshalb: Datei "/etc/xrdp/xrdp_keyboard.ini" bearbeiten! # überall, wo das Mapping definiert wird und verschiedene Listen für verschiedene Sprachen # genannt werden, muss das deutsche Layout (wenn man das haben will) an den Anfang gestellt # werden: [default_rdp_layouts] rdp_layout_de=0x00000407 rdp_layout_us=0x00000409 rdp_layout_us_dvorak=0x00010409 rdp_layout_us_dvp=0x19360409 rdp_layout_dk=0x00000406 ;rdp_layout_de=0x00000407 [...] [default_layouts_map] rdp_layout_de=de rdp_layout_us=us rdp_layout_us_dvorak=dvorak rdp_layout_us_dvp=us(dvp) rdp_layout_dk=dk ;rdp_layout_de=de [...] [rdp_layouts_map_mac] rdp_layout_de=de rdp_layout_us=us rdp_layout_us_dvorak=dvorak rdp_layout_us_dvp=us(dvp) rdp_layout_dk=dk ;rdp_layout_de=de # aber auch das ist nicht ausreichend! ########## # nächster Anlauf war mit Eingabe von Befehlen in die STartskripte = Dateien "/etc/xrdp/startwm.sh" und "/etc/xrdp/reconnectwm.sh" der Zeile: ( sleep 3; setxkbmap -model pc105 -layout de)& # aber auch das half nicht gegen Probleme nach Herumspielen mit der Fenstergröße! ########## # also noch mal - in die Datei "/etc/xrdp/xrdp.ini" # und die Keyboard-Mappings überschreiben: ; The following options will override the keyboard layout settings. ; These options are for DEBUG and are not recommended for regular use. #xrdp.override_keyboard_type=0x04 #xrdp.override_keyboard_subtype=0x01 #xrdp.override_keylayout=0x00000409 xrdp.override_keylayout=0x00000407 # letzte Zeile ist entscheidend, weil sie mit deutschem Layout alles überschreibt! %% ((1)) Headless Ubuntu mit dummy-monitor Mit dem entsprechenden Treiber kann das Problem umgangen werden, dass ein Zugriff über Fernwartung auf Ubuntu ohne angeschlossenen Bildschirm nicht funktioniert... Geht so - alles als root ##sudo su##: ((2)) Dummy-Treiber installieren ##apt install xserver-xorg-video-dummy## ((2)) Konfiguration des Treibers / X-Servers unter ##/etc/X11/xorg.conf## Konfiguration speichern Die besten Resultate habe ich damit erreicht (Ubuntu 20.04, Anydesk) - siehe auch [[https://techoverflow.net/2019/02/23/how-to-run-x-server-using-xserver-xorg-video-dummy-driver-on-ubuntu/ hier]]: ## Section "Monitor" Identifier "Monitor0" HorizSync 28.0-80.0 VertRefresh 48.0-75.0 # https://arachnoid.com/modelines/ # 1920x1080 @ 60.00 Hz (GTF) hsync: 67.08 kHz; pclk: 172.80 MHz Modeline "1920x1080_60.00" 172.80 1920 2040 2248 2576 1080 1081 1084 1118 -HSync +Vsync EndSection Section "Device" Identifier "Card0" Driver "dummy" VideoRam 256000 EndSection Section "Screen" DefaultDepth 24 Identifier "Screen0" Device "Card0" Monitor "Monitor0" SubSection "Display" Depth 24 Modes "1920x1080_60.00" EndSubSection EndSection ## Siehe auch: - https://xpra.org/Xdummy.html ((2)) Auto-Login Solange kein Benutzer angemeldet ist, geht AnyDesk auch nicht. Deshalb - um am Beispiel Ubuntu 20.04 zu bleiben - die config-Datei ##/etc/gdm3/custom.conf## wie folgt bearbeiten: ## # Enabling automatic login AutomaticLoginEnable = true AutomaticLogin = [username]## ((1)) Anydesk Die Installation über Repository ist am bequemsten... Beschreibung hier: http://deb.anydesk.com/howto.html Für den Fall, dass nicht verfügbar, hier Step-by-Step: ##wget -qO - https://keys.anydesk.com/repos/DEB-GPG-KEY | apt-key add - echo "deb http://deb.anydesk.com/ all main" > /etc/apt/sources.list.d/anydesk-stable.list apt update apt install anydesk## ((1)) SUDO in verschiedenen Varianten Manche Linux-Distros haben keinen aktiven ROOT-User und lassen normale User mit SUDO Administrationsaufgaben erledigen. Dies ist mitunter nicht so einfach - also hier ein paar Hinweise: ((2)) Grundsätzliches SUDO dürfen nur die User, die in der Benutzergruppe "sudo" auch enthalten sind. Auch ist SUDO nur dann möglich, wenn entsprechende Pakete installiert sind. ((2)) SUDO ohne Passwort Insbesondere für Fernwartung per Konsole und ihre Automatisierung (Beispiel: [[AnsibleWissen Ansible]]) ist es mitunter notwendig, die Passwortabfrage zu unterdrücken. Man kann also einem vertrauenswürdigen Benutzer den Zugriff auf administrative Aufgaben per SUDO ohne Passwort ermöglichen. Dies geht so: %%(perl) # in der Datei /etc/sudoers muss folgender Eintrage enthalten sein: username ALL=(ALL) NOPASSWD: ALL # ABER: der Eintrag funktioniert nur bei richtiger Reihenfolge der Einträge # das würde zum Beispiel nichts bringen! username ALL=(ALL) NOPASSWD: ALL %sudo ALL=(ALL:ALL) ALL # WEIL: die Datei nach Reihenfolge der Einträge abgearbeitet wird und der letzte Eintrag # die vorhergehende Anweisung aufhebt! also muss username ALL=(ALL) NOPASSWD: ALL # am Ende stehen! %% ---- CategoryITKnowledge