GNU/Linux >> Tutoriels Linux >  >> Linux

Lancer tmux à l'aide de gnome-terminal

Voici comment configurer tmux pour qu'il se lance avec gnome-terminal :

  1. Lancer gnome-terminal
  2. Menu > Édition > Préférences du profil > Titre et commande (onglet)
  3. Cochez Exécuter une commande personnalisée au lieu de mon shell
  4. Remplir la commande personnalisée avec tmux

Ces instructions fonctionnent pour moi sur Ubuntu 11.04. L'équivalent devrait fonctionner pour gnome-terminal pour n'importe quelle version de Linux.


Lancer n'importe quoi depuis .zshenv est certainement la mauvaise approche. Ce fichier est exécuté par chaque instance de zsh , même lors de l'exécution d'un script. Utilisez .zshrc pour les choses qui doivent être faites dans des shells interactifs, et .profile (ou .zprofile , si vous avez défini zsh comme shell de connexion) pour les choses à faire lorsque vous vous connectez.

Si vous voulez tmux dans chaque terminal, démarrez tmux directement sous le terminal, par exemple, gnome-terminal -e tmux (modifiez votre lanceur d'interface graphique pour passer ces arguments). Vous pouvez passer des arguments même avec -e (mais attention aux citations), par ex. gnome-termminal -e 'tmux -s ~/.alternate.tmux.conf' .

Si vous souhaitez également démarrer tmux lorsque vous vous connectez en ssh, vous devrez le lancer depuis votre ~/.profile . Faites cela uniquement si le processus parent du shell de connexion est sshd :

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

Une autre approche pour démarrer tmux sur ssh serait d'obtenir un nom de session à partir de l'environnement. De cette façon, vous pourriez vous attacher à une session existante. Le moyen le plus simple consiste à écrire un petit script côté serveur, par ex. ~/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

Utilisez ensuite une commande ssh comme celle-ci :

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

Exécutez les commandes suivantes sur le terminal pour obtenir tmux pour s'exécuter à chaque fois que vous lancez gnome-terminal :

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"

Cet ensemble de commandes permet à gnome-terminal de lancer tmux au démarrage du terminal.

  • Cela entraînera la fermeture de gnome-terminal lorsque vous quitterez tmux.
  • Cela n'interférera pas avec ssh ou la connexion de toute façon car il s'agit d'un paramètre gnome-terminal.
  • Vous pouvez également utiliser tous les raccourcis de gnome-terminal que vous avez épinglés sur le bureau et le lancer à partir de la ligne de commande avec tmux en cours d'exécution, vous n'aurez donc pas besoin de créer un raccourci personnalisé pour ce comportement.

Linux
  1. Utiliser Notify-send avec Cron ?

  2. Quels serveurs DNS est-ce que j'utilise ?

  3. Utilisation de variables d'environnement dans les fichiers Tmux.conf ?

  4. Comment lancer un ensemble de programmes dans Tmux ou Gnome-terminal dans un script ?

  5. Utilisation des journaux du serveur

Déboguer Linux avec ProcDump

Redirection 301 avec NGINX

Conseils d'utilisation de tmux

Conseils d'utilisation de l'écran

Comment installer tmux sous Linux

Utiliser Runit sur Devuan