screen
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | |||
screen [2021/03/16 21:39] – [Multiple sessions] hc9 | screen [2024/09/16 07:51] (current) – er” hc9 | ||
---|---|---|---|
Line 3: | Line 3: | ||
===== Introduction ===== | ===== Introduction ===== | ||
- | [[http:// | + | [[http:// |
In this tutorial '' | In this tutorial '' | ||
- | A Screen command is usually of the form **CTRL-a KEY**, i.e., you'll have to press the **CTRL** key along with "a", followed by a generic KEY. (Screen' | + | A Screen command is usually of the form **CTRL-a KEY**, i.e., you'll have to press the **CTRL** key along with “a”, followed by a generic KEY. (Screen' |
You'll need to be a [[http:// | You'll need to be a [[http:// | ||
- | If you want a "screencast" | + | If you want a “screencast” tutorial, type: |
'' | '' | ||
Line 25: | Line 25: | ||
'' | '' | ||
- | When you run it, a window with some copyright and some other info will show up, with "[Press Space or Return to end.]" | + | When you run it, a window with some copyright and some other info will show up, with “[Press Space or Return to end.]” at the bottom. OK, as it says, you can now press “Space” or “Enter”. You will then see your shell prompt and nothing else. That's fine: you can now run your programs as usual, the difference is that they will run under a Screen session. You can detach it by typing **CTRL-a d**. Screen will keep your session running. Now if you logout, then log back in, and type: |
'' | '' | ||
Line 35: | Line 35: | ||
'' | '' | ||
- | The "-d" | + | The “-d” flag will detach Screen, while “-r” will reattach. There are various types of “detach” and flags. For instance, if you type the previous command and there was no screen session to be resumed, you'll get a “There is no screen to be detached.” message. In this case you'll probably need: |
'' | '' | ||
Line 47: | Line 47: | ||
'' | '' | ||
- | will create a new window, leaving the previous window untouched, though not visible. Instead of typing | + | will create a new window, leaving the previous window untouched, though not visible. Instead of typing |
You can create as many windows as you want. You can swith between windows with **CTRL-a n** (next window) and **CTRL-a p** (previous window). It's also possible to select windows by number. Typing **CTRL-a 1** will open window number 1, **CTRL-a 2**, to window 2, and so on. | You can create as many windows as you want. You can swith between windows with **CTRL-a n** (next window) and **CTRL-a p** (previous window). It's also possible to select windows by number. Typing **CTRL-a 1** will open window number 1, **CTRL-a 2**, to window 2, and so on. | ||
- | How do you know what's a window number? Well, you can type **CTRL-a | + | How do you know what's a window number? Well, you can type **CTRL-a |
<file config .screenrc> | <file config .screenrc> | ||
Line 66: | Line 66: | ||
===== Multiple sessions ===== | ===== Multiple sessions ===== | ||
- | It's possible to have various Screen sessions running, each one with their own set of windows open. If you started Screen by just typing | + | It's possible to have various Screen sessions running, each one with their own set of windows open. If you started Screen by just typing |
'' | '' | ||
Line 80: | Line 80: | ||
where HOST is the hostname and YOU is your username. | where HOST is the hostname and YOU is your username. | ||
- | You can reattach a screen session by name. Say for instance that you want to resume the "4522.pts-8.HOST" | + | You can reattach a screen session by name. Say for instance that you want to resume the “4522.pts-8.HOST” session. In this case you'll have to type: |
'' | '' | ||
- | Obviously | + | Obviously |
'' | '' | ||
- | where "mysession" | + | where “mysession” is the name you want to give to your session (e.g., |
===== Splitting windows ===== | ===== Splitting windows ===== | ||
- | It could be useful to split a window so that you can have two programs running on the viewport. In this case, type **CTRL-a S** and you'll see that the window will be split in two regions, with the one at the bottom blank. You can swith to it with **CTRL-a TAB** (TAB is the tab key) and then select a window by typing its number, or "p" | + | It could be useful to split a window so that you can have two programs running on the viewport. In this case, type **CTRL-a S** and you'll see that the window will be split in two regions, with the one at the bottom blank. You can swith to it with **CTRL-a TAB** (TAB is the tab key) and then select a window by typing its number, or “p” (previous) or “n” (next), e.g., **CTRL-a 2**. You can always swith through regions with **CTRL-a TAB**. |
It's possible to split the window in more then two regions, each time by typing **CTRL-a S** | It's possible to split the window in more then two regions, each time by typing **CTRL-a S** | ||
- | If you want to split a window vertically, you'll have to either use a // | + | If you want to split a window vertically, you'll have to either use a // |
===== Sharing screen sessions ===== | ===== Sharing screen sessions ===== | ||
Line 116: | Line 116: | ||
**CTRL-a: | **CTRL-a: | ||
- | **CTRL-a: | + | **CTRL-a: |
SOMEUSER should exit screen first, then in the shell, type: | SOMEUSER should exit screen first, then in the shell, type: | ||
Line 150: | Line 150: | ||
//**Some notes:**// | //**Some notes:**// | ||
- | * Screen version that was used "Screen version 4.00.03 (FAU) 23-Oct-06" | + | * Screen version that was used “Screen version 4.00.03 (FAU) 23-Oct-06” |
* At the time of writing ( Tue Apr 17 23:01:50 IST 2012 ) all attempts at achieving the above read only functionality by editing .screenrc failed, usually resulting in SOMEUSER having FULL access to HOSTUSER' | * At the time of writing ( Tue Apr 17 23:01:50 IST 2012 ) all attempts at achieving the above read only functionality by editing .screenrc failed, usually resulting in SOMEUSER having FULL access to HOSTUSER' | ||
Line 158: | Line 158: | ||
* After SOMEUSER is detachs HOSTUSER might try **CTRL-aF** to resize the screen windows to fit the terminal. | * After SOMEUSER is detachs HOSTUSER might try **CTRL-aF** to resize the screen windows to fit the terminal. | ||
- | * For convenience and to reduce typing in screen HOSTUSER might want to have "multiuser on" | + | * For convenience and to reduce typing in screen HOSTUSER might want to have “multiuser on” and “password none” in .screenrc. HOSTUSER' |
* HOSTUSER will hear/see lots of bells if SOMEUSER tries to type into the screen session. | * HOSTUSER will hear/see lots of bells if SOMEUSER tries to type into the screen session. | ||
Line 170: | Line 170: | ||
===== .screenrc ===== | ===== .screenrc ===== | ||
- | As we previously saw, it is possible to customize Screen by writing settings in a file named ".screenrc" | + | As we previously saw, it is possible to customize Screen by writing settings in a file named “.screenrc” in your $HOME directory. We will now some useful Screen settings. |
=== Avoiding the startup message === | === Avoiding the startup message === | ||
Line 192: | Line 192: | ||
</ | </ | ||
- | each time you'll type **CTRL-a m** a new window (named | + | each time you'll type **CTRL-a m** a new window (named |
===== Cheat sheet ===== | ===== Cheat sheet ===== | ||
Line 205: | Line 205: | ||
**Notes** | **Notes** | ||
+ | |||
---- | ---- | ||
+ | |||
$Id: screen.html, | $Id: screen.html, | ||
screen.txt · Last modified: 2024/09/16 07:51 by hc9