GNU/Linux >> Tutoriels Linux >  >> Linux

Comment changer le répertoire de démarrage d'une session tmux ?

La façon de faire est de se détacher de la session (^b d avec les raccourcis clavier par défaut), puis spécifiez un répertoire différent lorsque vous vous y rattachez. Lors de l'attachement à une session, utilisez le -c flag pour spécifier le répertoire de travail. Voici un exemple :

$ tmux list-sessions
tmuxwtfbbq: 3 windows (created Tue Apr  5 14:25:48 2016) [190x49]
$ tmux attach-session -t tmuxwtfbbq -c /home/chuck/new_default_directory

Ce paramètre sera conservé - après avoir réinitialisé le répertoire de travail, vous n'aurez plus besoin de le spécifier à chaque fois que vous vous reconnecterez à la session.

Pour mémoire, je suis sur tmux version 2.0 (bien que je ne pense pas que cela importe - je n'ai rien trouvé sur l'ajout d'un -c option au attach-session commande dans les journaux des modifications, donc je suppose qu'elle est là depuis un bon moment).


La réponse de Chucksmash est bonne, mais elle peut également être obtenue sans utiliser la session si vous le souhaitez. La commande attach-session est également disponible dans l'invite de commande tmux ; et la session cible peut être spécifiée comme session "en cours" à l'aide d'un point.

attach-session -t . -c /path/to/new/directory

Voici comment vous pouvez changer le répertoire de travail de la session tmux sans détacher la session et sans avoir besoin d'utiliser le <prefix> frappes :

(Option 1) Entrez le répertoire à tmux invite de commande :

tmux command-prompt "attach -c %1"

... va ouvrir une invite de commande, puis vous tapez le répertoire de travail que vous voulez ~/my/dir et appuyez sur ENTER

(Option 2) Indiquez le répertoire sur la ligne de commande dans le volet :

# Execute this in one of the shell panes of within your tmux session:
tmux command-prompt -I $PWD -P "New session dir:" "attach -c %1"

Avec cette approche, l'invite de nouveau répertoire est pré-remplie avec le répertoire actuel du volet qui a lancé la commande. Bien sûr, vous pouvez remplacer n'importe quoi d'autre par $PWD s'il vous plait.

Vous voulez une fonction shell ?

J'ai ajouté ceci à l'initialisation de mon shell :

# Change the current directory for a tmux session, which determines
# the starting dir for new windows/panes:
function tmux-cwd {
    tmux command-prompt -I $PWD -P "New session dir:" "attach -c %1"
 }

Avec toutes ces options, toutes les futures nouvelles fenêtres démarreront dans le répertoire donné.

Remarque : attach , attach-session , et a sont tous des alias les uns pour les autres. Le tmux command-prompt possède de nombreux autres pouvoirs, cela vaut la peine de lire la page de manuel


Linux
  1. Comment changer l'identité d'un système Linux

  2. Comment installer R 3.3.1 dans le propre répertoire ?

  3. Comment créer une nouvelle fenêtre sur le répertoire actuel dans Tmux ?

  4. Comment changer le nom d'hôte sur Ubuntu

  5. Comment changer le nouveau répertoire de fenêtre par défaut à partir du tmux

Comment changer le répertoire racine du document dans Plesk ?

Comment changer le répertoire des addons

Comment changer le mot de passe root sous Linux

Comment changer le nom d'hôte du serveur dans Ubuntu

Comment changer le port SSH dans CentOS

Comment changer le fuseau horaire sur le serveur Ubuntu 18.04 ?