GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo cambiar el directorio de inicio de una sesión tmux?

La forma de hacerlo es desconectarse de la sesión (^b d con las combinaciones de teclas predeterminadas) y luego especifique un directorio diferente cuando vuelva a adjuntarlo. Cuando se adjunte a una sesión, use el -c bandera para especificar el directorio de trabajo. He aquí un ejemplo:

$ 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

Esta configuración se conservará:después de restablecer el directorio de trabajo, no necesitará seguir especificándolo cada vez que vuelva a conectarse a la sesión.

Para que conste, estoy en tmux versión 2.0 (aunque no creo que importe, no pude encontrar nada sobre agregar un -c opción al attach-session comando en los registros de cambios, así que asumo que ha estado allí durante bastante tiempo).


La respuesta de Chucksmash es buena, pero también se puede lograr sin usar la sesión si lo desea. El comando attach-session también está disponible en el símbolo del sistema tmux; y la sesión de destino se puede especificar como la sesión "actual" usando un punto.

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

Así es como puede cambiar el directorio de trabajo de la sesión tmux sin desconectar la sesión y sin necesidad de usar el <prefix> pulsaciones de teclas:

(Opción 1) Ingrese al directorio en tmux símbolo del sistema:

tmux command-prompt "attach -c %1"

...abrirá un símbolo del sistema, luego escriba el directorio de trabajo que desea ~/my/dir y presiona ENTER

(Opción 2) Proporcione el directorio en la línea de comandos del panel:

# 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 este enfoque, la solicitud de nuevo directorio se completa previamente con el directorio actual del panel que inició el comando. Por supuesto, puede sustituir cualquier otra cosa por $PWD por favor.

¿Quieres una función de shell?

He agregado esto a mi inicialización de 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 todas estas opciones, cualquier nueva ventana futura comenzará en el directorio dado.

Nota: attach , attach-session y a son todos alias entre sí. El tmux command-prompt tiene muchos otros poderes, vale la pena leer la página del manual


Linux
  1. Cómo cambiar el shell predeterminado en Linux

  2. Cómo cambiar el nombre de host en Ubuntu

  3. ¿Cómo cambio el directorio raíz de un servidor Apache?

  4. Cómo cambiar la contraseña de root mysql

  5. ¿Cómo cambio el directorio en Git Bash con Git para Windows?

¿Cómo cambiar el directorio raíz del documento en Plesk?

Cómo cambiar el directorio de complementos

Cómo cambiar la contraseña de root en Linux

Cómo cambiar el nombre de host del servidor en Ubuntu

Cómo cambiar el puerto SSH en CentOS

¿Cómo cambiar la zona horaria en Ubuntu 18.04 Server?