GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Starten von tmux mit dem Gnome-Terminal

So kann man tmux so einstellen, dass es mit gnome-terminal gestartet wird :

  1. Gnome-Terminal starten
  2. Menü> Bearbeiten> Profileinstellungen> Titel und Befehl (Tab)
  3. Aktivieren Sie Einen benutzerdefinierten Befehl anstelle meiner Shell ausführen
  4. Füllen Sie benutzerdefinierten Befehl aus mit tmux

Diese Anweisungen funktionieren für mich unter Ubuntu 11.04. Das Äquivalent sollte für gnome-terminal für jede Linux-Variante funktionieren.


Alles von .zshenv aus starten ist definitiv der falsche Ansatz. Diese Datei wird von jeder Instanz von zsh ausgeführt , auch wenn ein Skript ausgeführt wird. Verwenden Sie .zshrc für Dinge, die in interaktiven Shells erledigt werden sollten, und .profile (oder .zprofile , wenn Sie zsh als Login-Shell festgelegt haben) für Dinge, die beim Einloggen erledigt werden sollen.

Wenn Sie tmux in jedem Terminal haben möchten, starten Sie tmux direkt unter dem Terminal, z. B. gnome-terminal -e tmux (Ändern Sie Ihren GUI-Launcher, um diese Argumente zu übergeben). Sie können Argumente sogar mit -e übergeben (obwohl beim Zitieren vorsichtig sein), z. gnome-termminal -e 'tmux -s ~/.alternate.tmux.conf' .

Wenn Sie auch tmux starten möchten, wenn Sie sich über ssh anmelden, müssen Sie es von Ihrem ~/.profile starten . Tun Sie dies nur, wenn der übergeordnete Prozess der Login-Shell sshd ist :

parent_process_name=$(ps -o comm= -p $PPID`)
case ${parent_process_name##*/} in
  sshd) type tmux >/dev/null 2>/dev/null && exec tmux;;
esac

Ein anderer Ansatz zum Starten von tmux über ssh wäre das Abrufen eines Sitzungsnamens aus der Umgebung. Auf diese Weise können Sie an eine vorhandene Sitzung anhängen. Am einfachsten ist es serverseitig ein kleines Skript zu schreiben, z.B. ~/bin/tmux-login-session :

#!/bin/sh
if tmux has-session -t "$1"; then
  exec tmux attach-session -t "$1"
else
  . ~/.profile
  exec tmux new-session -s "$1"
fi

Verwenden Sie dann einen ssh-Befehl wie den folgenden:

ssh -t hostname.example.com bin/tmux-login-session SESSION_NAME

Führen Sie die folgenden Befehle am Terminal aus, um tmux zu erhalten jedes Mal auszuführen, wenn Sie gnome-terminal starten :

gconftool --type string --set /apps/gnome-terminal/profiles/Default/custom_command "tmux"
gconftool --type bool --set /apps/gnome-terminal/profiles/Default/use_custom_command "true"

Diese Befehle veranlassen gnome-terminal, tmux beim Start des Terminals zu starten.

  • Dies führt dazu, dass gnome-terminal beendet wird, wenn Sie tmux beenden.
  • Es wird ssh oder die Anmeldung sowieso nicht beeinträchtigen, da es sich um eine Gnome-Terminal-Einstellung handelt.
  • Außerdem können Sie alle Verknüpfungen von gnome-terminal verwenden, die Sie auf dem Desktop angeheftet haben, und es von der Befehlszeile aus starten, während tmux ausgeführt wird, sodass Sie für dieses Verhalten keine benutzerdefinierte Verknüpfung erstellen müssen.

Linux
  1. So verwenden Sie Tmux wie ein Profi in 5 Minuten

  2. Verwendung von UFW als IP-Blacklist

  3. Verwenden von mod_cluster in Apache

  4. Verwenden Sie Notify-Send mit Cron?

  5. Welche DNS-Server verwende ich?

301-Umleitung mit NGINX

Tipps zur Verwendung von tmux

Tipps zur Verwendung des Bildschirms

So installieren Sie tmux unter Linux

Verwenden von Runit auf Devuan

Verwenden von grep vs. awk