By default, when you create a new window in GNU Screen, it will start in the directory where screen is invoked. I want to start a new window in GNU Screen at the current working directory of the window I'm currently in. How to do that? Thanks!
See the gnu screen chdir
command. All new windows created in screen use this as their initial directory. Using this you can do something like
chdir /home/dan/newscreendir
screen
And your new window (along with any future created windows) will be in the set directory. If it's always going to be the current working dir you may be able to set something up in your screenrc
to do this one in one command.
See the gnu screen man page, it's quite comprehensive.
Screen cannot access your shell variable nor execute backticked commands. The closest I can get to doing it in one click is with a small bash script like this
screen -X setenv currentdir `pwd`
screen -X eval 'chdir $currentdir' screen
or more compactly
screen -X eval "chdir $PWD"
screen -X
sends the command to the currently running screen session. The first line creates a variable called currentdir
. The second line sends the currentdir
to the chdir
command and then creates a new screen window.