at.linux-FAQ

Bereit zur Arbeit



X-Session �ber ssh starten?

Mit entsprechend konfiguriertem ssh ist es sehr einfach, �bers Netz eine X-Session auf einem anderen Rechner zu starten. Die relevanten Einstellungen sind:

Wenn X-Forwarding funktioniert, braucht man sich nur aus einem xterm oder �hnlichem mit ssh einloggen und hat automatisch ein korrekt gesetztes DISPLAY. Das n�chste X-Programm, dass man auf dem entfernten Rechner startet, schickt die Ausgabe dann zum X-Server auf dem Ausgangsrechner. Das X-Protokoll l�uft dabei verschl�sselt �ber die ssh-Verbindung. Dies hat drei Vorteile:

X-Session �ber telnet starten?

Der klassische Weg �bers Netz eine X-Session zu starten:

  1. Irgendwie auf dem entfernten Rechner einloggen (telnet, rexec, rsh, cronjob, CGI-Script)

  2. Umgebungsvariable DISPLAY korrekt setzen. Im einfachsten Fall:

    export DISPLAY=rechner.mit.dem.x.server:0
  3. Die Zugriffskontrolle des X-Servers einstellen. Im einfachsten Fall:

    xhost +entfernter.rechner.mit.dem.program

Zugriffskontrolle anhand von IP-Adressen ist zum einen relativ leicht zu umgehen. Zum anderen schaltet man damit ohne Unterschied alle Benutzer eines Rechners frei. Und dann geht sowohl telnet als auch X11 unverschl�sselt �bers Netz.

Zugriffskontrolle eines X-Servers mit xauth

In der Datei $HOME/.Xauthority des Benutzers, der den X-Server gestartet hat, finden sich mehrere �MIT-MAGIC-COOKIE�. Kann ein X-Client ein passendes Cookie vorweisen, erh�lt er Zugriff. Zur �bergabe gibt es zwei M�glichkeiten:

X-Session �ber su starten?

Dieser Fall l�sst sich grunds�tzlich mit den oben angef�hrten Mechanismen l�sen. Es gibt aber drei komfortable Sonderf�lle.

Mehrere X-Server auf dem selben Rechner?

Can I have multiple sessions of X running at the same time?

Can my sister have second GUI login prompt so she does not have to kill my X-session to start hers?

Running Multiple Sessions of X

Creating Multiple GDM Logins on a Single Workstation

Was ist so gef�hrlich an �.� oder �::� im PATH?

Wenn in einem Verzeichnis mehrere Leute Schreibrechte haben, wie zum Beispiel in /tmp/, lassen sich so trojanische Pferde unterjubeln. Das mag auf einem Einzelplatzrechner weit hergeholt klingen, aber schlechte Angewohnheiten wird man nur schwer wieder los. Der richtige Weg ein Programm im aktuellen Verzeichnis aufzurufen, sieht so aus:

./program

Ausf�hrliche Beschreibung:

Wie kann ich Umgebungsvariablen definieren?

bash und moderne ksh
export VARIABLE=Wert
Die �ltere (und kompatible) Syntax
VARIABLE=Wert
export VARIABLE
Und dann gibt es noch csh und tcsh
setenv VARIABLE Wert

Welche Shell man verwendet, sagt einem echo $SHELL oder echo $BASH_VERSION.

Wie kann ich mit einem Skript die Umgebungsvariablen der laufenden Shell �ndern?

Wenn man ein Shell-Skripts auf die �bliche Art startet, wird dazu ein eigener Prozess erzeugt. Umgebungsvariablen werden dabei vom Elternprozess an den Kindprozess vererbt (man kann das mit env auch verhindern). Es gibt aber keine M�glichkeit in der Umkehrrichtung Variablen zu setzen.

Um durch ein Skript Umgebungsvariablen einer laufenden Shell zu �ndern, muss man es statt dessen �ein-sourcen�:

source Datei

oder

. Datei

Kopieren und Einf�gen (Zwischenablage unter X11)?

X11 kennt zwei Arten der Zwischenablage.

Primary Selection

Kopiert wird durch Ausw�hlen mit der linken Maustaste. Doppelklick markiert wortweise, Dreifach-Klick zeilenweise. Man kann stattdessen auch einfach mit gedr�ckter Maustaste �ber die Auswahl ziehen.

Eingef�gt wird durch Dr�cken der mittleren Maustaste (bei einer Zweitastenmaus durch gleichzeitiges Dr�cken linker und rechte Maustaste).

Einige Textmodus-Programme (vim, links, mc) beherrschen unter X11 (also innerhalb eines xterm oder �hnlichem) eine eigene Maussteuerung. Ein Klick mit der linken Maustaste versetzt dann etwa den Cursor oder springt einen Hyperlink an. Die Funktionalit�t der Primary Selection erreicht man in dem Fall durch Festhalten der Hochstelltaste (englische Beschriftung ist Shift) w�hrend des Mausklicks.

Clipboard Selection

Kopiert wird in zwei Schritten:

  1. Auswahl der zu kopierenden Daten mit Maus oder Tastatur.

  2. Ausl�sen des Kopierkommandos, durch den Men�punkt Bearbeiten → Kopieren, oder der Tastenkombination Strg+C.

Eingef�gt wird mit Bearbeiten → Einf�gen, oder der Tastenkombination Strg+V.

Die englischen Bezeichnungen sind Edit → Copy bzw. Edit → Paste und Ctrl statt Strg. Antike Software (etwa Netscape 4.x) verwendet statt dessen auch Alt.




Screenshots in X11, KDE, Gnome?

Screenshots im Framebuffer?

Es ist zwar m�glich, /dev/fb0 direkt auszulesen, aber von den vielen Speicherformaten werden nur die wenigsten von ImageMagick unterst�tzt. Ohne ein spezielles Konversionsprogramm geht es im allgemeinen nicht.



Screenshots im Textmodus?

gpm means general purpose mouse and is the mouse support for linux in the console.�

Damit kann man im reinen Textmodus die Maus zum Selektieren und Kopieren von Text verwenden.

/dev/vcs1

Der Inhalt virtueller Konsolen kann auch direkt ausgelesen werden.

�Takes snapshot from your Linux console(s) and outputs a Targa file.�

�Screen is a full-screen window manager that multiplexes a physical terminal between several processes, typically interactive shells.�

Mit der Tastenkombination �C-a H� wird das Logging eingeschaltet, dabei werden auch s�mtliche Terminalsteuerzeichen aufgezeichnet. Diese lassen sich mit colcrt rausfiltern.