![]() This might also (as a side-effect) alleviate your shell startup errors since the way tmux starts a shell is different from a plain bash -i (it is more akin to bash -l, which uses your. # Select window #1 and attach to the session # Set the default cwd for new windows (optional, otherwise defaults to session cwd) # via a binding unless overridden with default-path. # This will also be the default cwd for new windows created # var for session name (to avoid repeated occurences) This script works for me with tmux 1.5: #!/bin/bash † This is tmux-mediated inheritance, not the parent–child inheritance that is the usual mechanism for passing along the cwd. According to the CHANGES file, it looks like this has been the case since tmux 0.6 (at least for new-window). when done through the tmux binary, instead of via a binding or at a tmux- : prompt). There should be no need to use cd command like that in the shell-command argument given to either tmux new-session or tmux new-window.Ī new window will “inherit” † the current working directory when using new-session and new-window from the command line (i.e. rsync, SSH-based Git access, etc.) since these programs expect a “clean” connection without such debugging noise present. Note: These debug additions need to be temporary since they will cause problems if you ever use a program that makes automated logins (e.g. The errors may not actually be in your startup file itself, but in a script that it runs.Once you know which file is being processed when the errors occur, add more debug outputs around each “major block” or line to narrow down the responsible section/line.If the errors happen before that file, then the problem may be in /etc/profile. If not, instrument your other startup files. bashrc to see if the error occurs during your. ![]() If you find the -vx output too verbose, you could try “printf debugging” (manually adding debug statements to your startup files until you can narrow down exactly which lines are causing the errors): The shell errors are probably due to some problem in your startup files (or something they run).Īs shellter commented, temporarily including the command set -vx early in your startup sequence is a good way to find out where the errors are occurring. Is there a better way to set up a tmux session over several directories? I have no idea why this happens, but I still think that I’m not doing this right. But if I start more than about 4 windows, I frequently see the following bash errors in one of the windows after startup: bash: [: =: unary operator expected Tmux new-window -t xyz:6 -n var6 'cd /var/log bash -i' Tmux new-window -t xyz:5 -n var5 'cd /var/log bash -i' Tmux new-window -t xyz:4 -n var4 'cd /var/log bash -i' Tmux new-window -t xyz:3 -n var3 'cd /var/log bash -i' Tmux new-window -t xyz:2 -n var2 'cd /var/log bash -i' Tmux new-window -t xyz:1 -n var 'cd /var/log bash -i' So my next idea was to start a new shell like this: tmux new-session -s xyz -n etc -d 'cd /etc bash -i' Tmux new-window -t xyz:1 -n var 'cd /var/log'īut I soon found out that this will not work as I expected - the window will be closed after the shell command completes. I started with a script I found and tried this first: tmux new-session -s xyz -n etc -d 'cd /etc' Tmux is included in the OpenBSD base system, and is available as a package for many other Unix-like operating systems.I want to use a script to open a tmux session with 6 windows, each in a different directory.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |