HDYUYD Teil IV: How do you use your terminal

Administration von Linux Servern ohne Terminal ist für mich nicht wirklich vorstellbar. Natürlich gibt es irgendwelche Blackboxen die über ein Webinterface administriert werden und so perfekt gemacht sind, dass man die Konsole nicht wirklich braucht. Ich spreche hier aber von Linux Servern in Unternehmen – ich beschreibe ja auch was ich so zum Arbeiten nutze und wie. Da kommt man nicht um ein Terminal herum.

Nun hat auch für die Konsole jeder seine Mittel, Vorlieben und Wege um zu arbeiten.

Gnome-Terminal

Natürlich nutze ich das Gnome-Terminal ;-) Für mich gibt es dabei ein paar wichtige Einstellungen damit ich mich wohlfühle.

Größe

Per Default ist das Terminal recht klein. Damit ich nicht immer wieder die Größe mit Hilfe der Maus ändern muss, ist für mich eine der ersten Einstellungen die Default Größe des Terminals. Das geschieht über Bearbeiten->Profile->Default->Benutzerdefinierte Größe …

Man kann natürlich auch das Terminal mit dem Parameter –geometry die Größe für den Aufruf anpassen. Allerdings funktioniert das dann nicht mit Gnome-Do ;-)

Rollbraten

Ähem, Rollbalken natürlich. Mit Rollbalken ist im Prinzip die Anzahl der Zeilen gemeint, die man per <shift>+<bild auf> oder mit der Maus nach oben scrollen kann. Die Standardeinstellung von 512 Zeilen reicht bei weitem nicht aus und macht auch meiner Meinung nach keinen Sinn. Es genügt schon sich ein paar Mal die Prozessliste anzuschauen um die 512 Zeilen zu überschreiten.

Ganz nebenbei habe ich den wirklichen Rollbalken auch komplett deaktiviert, da ich lediglich die o.g. Tastenkombination nutze.

Unnützes deaktivieren

Ebenso wie den Rollbalken habe ich auch das Menü deaktiviert.

Das Menü wird – wenigstens von mir – nur sehr sehr selten genutzt. Daher macht es keinen Sinn es eingeblendet zu lassen. Vor allem da man es ausblenden kann ;-) Hat man das Menü ausgeblendet, so kann es mit Hilfe der rechten Maustaste (auf das Terminal) wieder eingeblendet werden.

Farbschema

Wenn man den ganzen Tag mit der Konsole arbeitet möchte man keine Transparenz haben. Also wenigstens für mein Empfinden macht das wahnsinnig. Daher nutze ich ein ganz konservatives Schwarz auf Gelb.

Gehhilfen

s

“s” ist der definitv am meisten genutzte “Shortcut”. Dabei liegt dahinter eine Funktion die ssh mit diversen Parametern aufruft. Das ganze in die .bashrc gepackt und man kann sich einige Tipparbeit sparen. In meinem Beispiel sieht das so aus. Alle Server an unserem größten Standort beginnen mit den gleichen Anfangsbuchstaben – sagen wir xyz. Generell ist die Konvention für Servernamen xyz-lxs01 (lxs -> Linux Server, 01 -> fortlaufende Nummer).

Nun habe ich “s” so angepasst, dass wenn ich nur lxs01 eingebe, er den xyz von selbst hinzufügt. Gebe ich allerdings einen Servernamen für einen anderen Standort an dann nimmt er diesen (xxx-lxs01). Des Weiteren werden Parameter mit übergeben, wobei die Funktion offen ist für weitere Parameter.

function s {
 if [[ "$*" =~ ^lxs ]]; then
 ssh -AYC -o TCPKeepAlive=yes root@xyz-$*
 else
 ssh -AYC -o TCPKeepAlive=yes root@$*
fi
}

Obwohl der User mit root@ angegeben ist, kann man mit dem Parameter -l einen anderen Loginnamen übergeben.

Ein normaler Aufruf reduziert sich bei mir also auf “s lxs01″.

sshknownhosts

Sascha hat in seinem Artikel die Funktion sshknownhosts bereits erklärt. Auch diese gehört zu meinem Repertoire.

<STRG>+<R>

Ein Bash Shortcut den ich lange nicht gekannt habe ist <STRG>+<R>. Damit kann man in den letzten Befehlen (history) direkt suchen. Man gibt einen Teil eines Befehls ein und bekommt sofort ein Ergebnis (soweit vorhanden) präsentiert. Mehrere Treffer kann mit nochmaliger Anwendung der Shortcuts durchlaufen.

<ESC>+<.>

Auch ein lange nicht bekannter Shortcut (thx Sascha) ist <ESC>+<.>. Dieser zeigt den/die zuletzt verwendeten Parameter (den letzten Parameter). Hat man beispielsweise gerade eine Datei per cat ausgegeben und möchte sie nun per vi öffnen, so kann man das ganze verkürzen indem man “vi <ESC>+<.>” anwendet. Auch dieser Befehl durchläuft die Liste der letzten Parameter wenn man den Shortcut häufiger anwendet.

27 Responses to HDYUYD Teil IV: How do you use your terminal

  1. Ah das Terminal. War klar, dass es da gleich viele Kommentare gibt ;-)

    STRG+R habe ich auch erst nach deutlich ueber 10 Jahren Linux von meinem Mitbewohner kennengelernt (der es wiederum aus der Uni mitgebracht hat). Super Shortcut!

    Die !! Syntax finde ich auch sehr praktisch.. gerade wenn man mal irgendwo ein sudo vergessen hat, braucht man nur “sudo !!” eingeben und gut is..

    SSH:
    Fuer Serverbetreuer ist ClusterSSH vielleicht ganz interessant (cssh). Damit kann man Befehle ab mehrere Server gleichzeitig schicken.

    Wie jmd anderes oben schon bemerkt hat ist screen oder von mir aus byobu absolut unversichtlich. Gerade wenn man laenger Prozesse in einem remote-terminal startet (updates, kompilierung, usw.) will mein ein SIGHUP unter allen Umstaenden vermeiden. Sprich: kackt die Verbindung ab, ist auch der Prozess floeten. Mit screen no problem. Die Bedienung ist anfangs etw gewoehnungsbeduerftig, aber es lohnt sich. Ein kleiner Ueberblick:
    Fuer alle screen-Befehle drueckt man erst STRG+a und nach dem Loslassen eine weitere Taste.
    strg+a ? – Hilfe
    strg+a c – neues Terminal aufmachen
    strg+a 0-9 – zw. Terminals 0-9 wechseln
    strg+a d – abkoppeln (detach). screen laeuft weiter, aber man ist nicht mehr mit ihm verbunden. mit “screen -r” kann man wieder eine Verbindung aufbauen
    strg+a ESC – copy modus. ist ganz praktisch, um mit den cursor-tasten im buffer zu scrollen. mit ESC wieder verlassen.

    Damit sollte man ganz gut auskommen. Lustig ist auch die moeglichkeit mit mehreren Leuten einen screen zu teilen.

    A und B loggen sich beide auf user@server ein. A startet “screen” und B haengt sich ueber “screen -x” mit rein und nun koennen beide gleichzeitig den screen nutzen.

  2. m

    Schöner Artikel. Ich nutze meist Guake.
    STRG + R ist ja mal echt cool :) Nützlich finde ich noch STRG + L, damit führt man clear aus.
    Das letzte Argument ist auch in der variablen !$ gespeichert.
    Meine ssh Hosts verwalte ich in der Datei ~/.ssh/config.
    Um bequem mit Skripten zu arbeiten habe ich in der bash_rc noch den Pfad ~/bin exportiert.

  3. - gpm -> ganz nützlich, wenn man gerade mal kein Gnome-Terminal (Desktop) hat – nutze die Maus in der Konsole

    – fc -l -> zeigt die letzten Befehle in einer Liste an

    – !string -> startet den letzten Befehl, der mit sting anfängt

    – !?string -> startet den letzten Befehl, der string enthält

    – !! -> führt den letzten Befehl noch einmal aus

    – wer sich die Z-Shell noch nicht angeguckt hat, sollte dies nachholen -> http://de.wikipedia.org/wiki/Zsh

    – .bashrc, .zshrc … ggf. anpassen :-) -> http://suckup.de/blog/2010/07/30/bashrc/ &
    http://suckup.de/blog/2010/09/17/zshrc/

  4. Benutze auch meistens Gnome-Terminal. Die Einstellung mit dem “Rollbalken” kannte ich bisher nicht. Ist irgendwie auch ein bescheuerter Name. Ein unverzichtbares Tool aus meiner Sicht, wenn man oft mit der CLI, vor allem remote arbeitet – ist definitiv SCREEN. Ohne komme ich nicht mehr aus.

  5. Hallo zusammen
    Vielen Dank für die tollen Tipps!
    Was mich bisher am meisten gestört hat ist die Startgrösse des Fensters. Da kam mir euer Hinweis natürlich gerade recht. Ich war jedoch gleichzeitig verwundert darüber, dass es in den Einstellungen den Punkt “Benutzerdefinierte Grösse” geben soll, denn den kann ich bis zum heutigen Tag nicht finden. Liegt das an meiner Version (GNOME-Terminal 2.30.2) oder habe ich Tomaten auf den Augen?

    • Ronny

      gnome-terminal aufrufen -> Bearbeiten -> Profile -> Default auswählen -> Bearbeiten -> Register Allgemein und dann ganz unten

      Ich hab zur Zeit ein Gnome 2.32 aber das war auch schon der “alten” Version so.

      • Hallo Ronny
        Vielen Dank für den Hinweis. Leider habe ich diesen Schalten wirklich nicht zur Verfügung, wie Du auf meinem PrintScreen sehen konntest.
        Ich setze zur Zeit Ubuntu 10.04LTS ein. Die Version von Gnome-Terminal ist 2.30.2.

      • Ronny

        Hallo,
        keine Ahnung woher das kommt. Wie gesagt hatte ich die Live CD von 10.04 nochmal eingeworfen und dort ist die Einstellung vorhanden.

        Wie schon in den Kommentaren zu lesen hast Du ja auch die Möglichkeit das ganze über den Parameter –geometry zu steuern.

        greetz

    • Man kann auch die manpage benutzen –> man gnome-terminal. Darin steht, wie man eine Benutzerdefinierte Größe per “Hand” erreicht. Nämlich mit der Option –geometry. Bei mir sieht das so aus: gnome-terminal –geometry=69×40+20+30 Diese Zeile dann einfach ins Gnome-Menü übertragen, oder in den gconf-editor/metacity/keybinding_commands eintragen. Unter gconf-editor/metacity/global_keybindings kann man dann noch dem Kommando ein Tastenkürzel zum Starten mitgeben.

      • Hallo Hallodri
        Das muss mich mir näher anschauen. Ich starte meine Shells mehrheitlich über “Gnome Do” mal sehen, ob das dann dort auch funktioniert.
        Starter auf dem Desktop habe ich, wie Du, mit dem Parameter “geometry” versehen.

  6. Sorry, es nimmt leider die < Tags nicht mit. Ich meinte den Shortcut ALT + "." , er macht exakt das gleiche wie ESC + "."


    Thorsten:

    Der Shortcut + macht exakt das gleiche wie +, allerdings muss man dabei nicht “hoch” zum ESC greifen.
    Nur zur Info, aber jeder wie er es gewohnt ist

  7. Falls man doch mit mehr Fenstern als nur dem Terminal arbeitet, ist Tilda vielleicht eine alternative.
    Tilda öffnet und schließt sich per druck auf F1 und hat quasi die selben Features wie das Gnome-Terminal.

    Der riesige Vorteil hierbei ist, dass man sich die Suche nach dem Gnome-Terminal-Fenster ersparen kann.

  8. Wieso nimmst du nicht .ssh/config zur Vereinfachung von ssh-Aufrufen? Alles, was du oben mit der bash function zusammenhackst, geht damit viel bequemer und sogar auf per-Host Basis. Siehe

    $ man ssh_config

    und dort insbesondere TCPKeepAlive, ForwardX11Trusted, Compression und CompressionLevel. Siehe auch http://wiki.ubuntuusers.de/ssh#ssh-config

    Bei den Hostnamen gehen auch * und ?, womit sich schoen Einstellungen fuer bestimmte Gruppen von Servern vornehmen lassen.

    Ein Ueberschreiben dieser Einstellungen via Kommandozeile ist afair nach wie vor moeglich.

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>