Screen: Difference between revisions
Jump to navigation
Jump to search
(Created page with '=external links= http://www.gnu.org/software/screen/manual/screen.html =functions= <nowiki><pre> # Setup a screen session for an environment. screen_site(){ local SITE SAVEIFS …') |
|||
(12 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
=Start program in screen.= | |||
screen -d -m | |||
=Split= | |||
CTRL + a -> S | |||
=Help= | |||
CTRL + a -> ? | |||
=Move between split screen= | |||
CTRL + a -> tab | |||
=Show window list= | |||
CTRL + a -> " | |||
=Copy/History mode(Search via ? and /)= | |||
CTRL + a -> ESC | |||
=Show only this window= | |||
CTRL + a -> Q | |||
=Paste= | |||
CTRL + a -> [ | |||
=Name a window= | |||
CTRL + a -> A | |||
=Move or swap window position/number= | |||
:number is literary as it stands here. (:number). 2 is where you want to move window. | |||
CTRL + a -> :number 2 | |||
=detatch screen inside screen= | |||
CTRL + a -> a -> d | |||
=Rename screen session.= | |||
CTRL + a -> :sessionname new-session-name | |||
=Wrap= | |||
CTRL + a -> r | |||
=Wrap no= | |||
CTRL + a -> CTRL + r | |||
=Visual bell= | |||
CTRL + a -> CTRL + g | |||
=Move tab in split screen= | |||
CTRL + a -> CTRL + i | |||
=Close split screen= | |||
CTRL + a -> X | |||
=Cannot open your terminal '/dev/pts/0' - please check= | |||
sudo su - user causes problems... | |||
script /dev/null | |||
=external links= | =external links= | ||
http://www.gnu.org/software/screen/manual/screen.html | http://www.gnu.org/software/screen/manual/screen.html | ||
=functions= | =functions= | ||
< | <pre><nowiki> | ||
# Run a command in a group of windows. | # Run a command in a group of windows. | ||
screen_cluster(){ | screen_cluster(){ | ||
Line 79: | Line 60: | ||
for SCREEN in ${SCREENS} | for SCREEN in ${SCREENS} | ||
do | do | ||
screen -S ${SESSIONNAME} -p ${SCREEN} -X stuff "${COMMAND} | screen -S ${SESSIONNAME} -p ${SCREEN} -X stuff "^A# | ||
${COMMAND} | |||
" | " | ||
if [ $? -ne 0 ] | if [ $? -ne 0 ] | ||
Line 117: | Line 99: | ||
} | } | ||
</ | |||
</nowiki></pre> |
Latest revision as of 15:36, 18 November 2020
Start program in screen.
screen -d -m
Split
CTRL + a -> S
Help
CTRL + a -> ?
Move between split screen
CTRL + a -> tab
Show window list
CTRL + a -> "
Copy/History mode(Search via ? and /)
CTRL + a -> ESC
Show only this window
CTRL + a -> Q
Paste
CTRL + a -> [
Name a window
CTRL + a -> A
Move or swap window position/number
- number is literary as it stands here. (:number). 2 is where you want to move window.
CTRL + a -> :number 2
detatch screen inside screen
CTRL + a -> a -> d
Rename screen session.
CTRL + a -> :sessionname new-session-name
Wrap
CTRL + a -> r
Wrap no
CTRL + a -> CTRL + r
Visual bell
CTRL + a -> CTRL + g
Move tab in split screen
CTRL + a -> CTRL + i
Close split screen
CTRL + a -> X
Cannot open your terminal '/dev/pts/0' - please check
sudo su - user causes problems...
script /dev/null
external links
http://www.gnu.org/software/screen/manual/screen.html
functions
# Run a command in a group of windows. screen_cluster(){ if [ $# -lt 3 ] then echo "You wrote: ${FUNCNAME} ${@}" echo "${FUNCNAME} SESSIONNAME 'command' SCREENS" SESSIONNAMES=$(screen -ls | grep -E '[[:blank:]][0-9]{2,}' | awk '{print $1}' | sed 's/^[0-9.]*//g') echo "SESSIONNAME available are:" echo "${SESSIONNAMES}" else SESSIONNAME=${1} COMMAND=${2} shift 2 SCREENS="${@}" for SCREEN in ${SCREENS} do screen -S ${SESSIONNAME} -p ${SCREEN} -X stuff "^A# ${COMMAND} " if [ $? -ne 0 ] then screen_cluster return 1 fi done fi } # Split screen in regions with wanted windows. screen_split(){ if [ $# -lt 2 ] then echo "Splits screen in regions and show chosen windows." echo "${FUNCNAME} SESSIONNAME SCREENS" else SCREENSESSION="${1}" shift WINDOWSTART="${1}" NUMBERSCREEN="${#}" shift WINDOWSOPEN="${@}" screen -S ${SCREENSESSION} -p ${WINDOWSTART} -X select ${WINDOWSTART} screen -S ${SCREENSESSION} -p ${WINDOWSTART} -X only sleep 0.2 for WINDOWOPEN in ${WINDOWSOPEN} do sleep 0.2 screen -S ${SCREENSESSION} -p ${WINDOWSTART} -X split screen -S ${SCREENSESSION} -p ${WINDOWSTART} -X focus screen -S ${SCREENSESSION} -p ${WINDOWOPEN} -X select ${WINDOWOPEN} done screen -S ${SCREENSESSION} -p ${WINDOWSTART} -X wall "Opened ${NUMBERSCREEN} screen windows" fi }