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

Wie ändere ich das Startverzeichnis einer tmux-Sitzung?

Dazu müssen Sie sich von der Sitzung trennen (^b d mit den Standard-Tastenkombinationen) und geben Sie dann ein anderes Verzeichnis an, wenn Sie es erneut anhängen. Verwenden Sie beim Anhängen an eine Sitzung den -c Flag, um das Arbeitsverzeichnis anzugeben. Hier ist ein Beispiel:

$ 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

Diese Einstellung wird beibehalten - nachdem Sie das Arbeitsverzeichnis zurückgesetzt haben, müssen Sie es nicht jedes Mal angeben, wenn Sie sich wieder mit der Sitzung verbinden.

Fürs Protokoll, ich bin auf tmux Version 2.0 (obwohl ich denke, dass es nicht wichtig ist - ich konnte nichts über das Hinzufügen eines -c finden Option zum attach-session Befehl in den Änderungsprotokollen, also nehme ich an, dass er schon eine ganze Weile dort ist).


Die Antwort von Chucksmash ist gut, aber Sie können sie auch erreichen, ohne die Sitzung zu verwenden, wenn Sie möchten. Der Befehl attach-session ist auch in der tmux-Eingabeaufforderung verfügbar; und die Zielsitzung kann mit einem Punkt als "aktuelle" Sitzung angegeben werden.

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

So können Sie das Arbeitsverzeichnis der tmux-Sitzung ändern, ohne die Sitzung zu trennen und ohne den <prefix> verwenden zu müssen Tastenanschläge:

(Möglichkeit 1) Geben Sie das Verzeichnis unter tmux ein Eingabeaufforderung:

tmux command-prompt "attach -c %1"

... öffnet eine Eingabeaufforderung, dann geben Sie das gewünschte Arbeitsverzeichnis ~/my/dir ein und drücken Sie ENTER

(Option 2) Geben Sie das Verzeichnis in der Befehlszeile im Fenster an:

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

Bei diesem Ansatz wird die Eingabeaufforderung für new-directory vorab mit dem aktuellen Verzeichnis des Bereichs ausgefüllt, der den Befehl gestartet hat. Natürlich können Sie $PWD durch etwas anderes ersetzen bitte.

Wollen Sie eine Shell-Funktion?

Ich habe dies zu meiner Shell-Initialisierung hinzugefügt:

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

Mit all diesen Optionen werden alle zukünftigen neuen Fenster im angegebenen Verzeichnis gestartet.

Hinweis: attach , attach-session , und a sind alle Aliase füreinander. Die tmux command-prompt hat viele andere Kräfte, es lohnt sich, die Manpage zu lesen


Linux
  1. So ändern Sie die Identität eines Linux-Systems

  2. Wie erstelle ich ein neues Fenster im aktuellen Verzeichnis in Tmux?

  3. Wie ändere ich den Hostnamen?

  4. So ändern Sie das MySQL-Root-Passwort

  5. Wie ändere ich das Verzeichnis in Git Bash mit Git für Windows?

Wie ändere ich das Dokumentstammverzeichnis in Plesk?

So ändern Sie das Addon-Verzeichnis

So ändern Sie das Root-Passwort unter Linux

So ändern Sie den Server-Hostnamen in Ubuntu

So ändern Sie den SSH-Port in CentOS

Wie ändere ich die Zeitzone auf Ubuntu 18.04 Server?