GNU/Linux >> Linux Esercitazione >  >> Linux

Come cambiare la directory iniziale di una sessione tmux?

Il modo per farlo è staccarsi dalla sessione (^b d con le combinazioni di tasti predefinite) e quindi specificare una directory diversa quando la ricolleghi. Quando ti colleghi a una sessione, usa -c flag per specificare la directory di lavoro. Ecco un esempio:

$ 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

Questa impostazione verrà mantenuta:dopo aver reimpostato la directory di lavoro, non dovrai continuare a specificarla ogni volta che ti ricolleghi alla sessione.

Per la cronaca, sono su tmux versione 2.0 (anche se non credo sia importante - non sono riuscito a trovare nulla sull'aggiunta di un -c opzione al attach-session comando nei log delle modifiche, quindi presumo sia lì da un po' di tempo).


La risposta di Chucksmash è buona, ma può anche essere ottenuta senza utilizzare la sessione, se lo desideri. Il comando attach-session è disponibile anche nel prompt dei comandi di tmux; e la sessione di destinazione può essere specificata come sessione "corrente" utilizzando un punto.

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

Ecco come puoi modificare la directory di lavoro della sessione tmux senza scollegare la sessione e senza dover utilizzare il <prefix> sequenze di tasti:

(Opzione 1) Inserisci la directory in tmux prompt dei comandi:

tmux command-prompt "attach -c %1"

...si aprirà un prompt dei comandi, quindi digita la directory di lavoro che desideri ~/my/dir e premi ENTER

(Opzione 2) Fornisci la directory nella riga di comando nel riquadro:

# 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"

Con questo approccio, il prompt per new-directory viene precompilato con la directory corrente del riquadro che ha avviato il comando. Ovviamente puoi sostituire qualsiasi altra cosa per $PWD per favore.

Vuoi una funzione shell?

Ho aggiunto questo alla mia inizializzazione della 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"
 }

Con tutte queste opzioni, qualsiasi nuova finestra futura verrà avviata nella directory specificata.

Nota: attach , attach-session e a sono tutti alias l'uno dell'altro. Il tmux command-prompt ha molti altri poteri, vale la pena leggere la pagina man


Linux
  1. Come cambiare l'identità di un sistema Linux

  2. Come installare R 3.3.1 nella propria directory?

  3. Come cambiare il nome host su Ubuntu

  4. Come cambio la directory principale di un server Apache?

  5. Come cambiare la password di root mysql

Come modificare la directory principale dei documenti in Plesk?

Come modificare la directory dei componenti aggiuntivi

Come modificare la password di root in Linux

Come modificare il nome host del server in Ubuntu

Come modificare la porta SSH in CentOS

Come modificare il fuso orario su Ubuntu 18.04 Server?