--- title: Screen date: 2021-01-02 20:03:55 background: bg-indigo-500 tags: - terminal - session - utility categories: - Linux Command intro: | This is a quick reference guide cheat sheet for the screen command. plugins: - copyCode --- ## Getting Started ### Getting started ```shell script $ screen ``` 1\. Press Ctrl-A D to detach session --- 2\. List all screen sessions ```shell script $ screen -ls ``` 3\. Re-attach a screen Session ```shell script $ screen -r ``` ### Options {.col-span-2} | Options | Example | Description | | ------- | ------------------------------------- | ------------------------------------------------------- | | `-S` | screen -S debug | Start a new session with session name | | `-ls` | screen -ls | List running sessions / screens | | `-x` | screen -x | Attach to a running session | | `-r` | screen -r debug | Attach to a running session with name | | `-R` | screen -R debug | Attach to a session _(Will create if it doesn't exist)_ | | `-d` | screen -d -m wget xxxx.com/large.file | Start screen in detached mode | | `-X` | screen -X -S debug kill | Kill a running session | {.show-header} ### Help | Command | Description | | ------------ | ------------------------------ | | `Ctrl-A` `?` | See help _(Lists keybindings)_ | {.shortcuts} ### Window Management {.col-span-2 .row-span-2} | Command | Description | | -------------------------------------- | --------------------------------------- | | `Ctrl-A` `C` | Create new window | | `Ctrl-A` `Ctrl-A` | Change to last-visited active window | | `Ctrl-A` `0...9` | Change to window by number | | `Ctrl-A` `'` `<0...9 or title>` | Change to window by number or name | | `Ctrl-A` `N` or `Ctrl-A` `` | Change to next window in list | | `Ctrl-A` `P` or `Ctrl-A` `` | Change to previous window in list | | `Ctrl-A` `"` | See window list | | `Ctrl-A` `W` | Show window bar | | `Ctrl-A` `K` | Kill current window _(not recommended)_ | | `Ctrl-A` `\` | Kill all windows _(not recommended)_ | | `Ctrl-A` `A` | Rename current window | {.shortcuts} ### Getting Out | Command | Description | | ---------------- | ----------------------------------------- | | `Ctrl-A` `D` | Detach | | `Ctrl-A` `D` `D` | Detach and logout
_(quick exit)_ | | `Ctrl-A` `:` | Exit all session | | `Ctrl-A` `C-\` | Force-exit screen
_(not recommended)_ | {.shortcuts} ### Split screen | Command | Description | | -------------- | -------------------------------------- | ------------------------ | | `Ctrl-A` `S` | Split display horizontally | | `Ctrl-A` `V` | Split display vertically | | `Ctrl-A` ` | ` | Split display vertically | | `Ctrl-A` `TAB` | Jump to next display region | | `Ctrl-A` `X` | Remove current region | | `Ctrl-A` `Q` | Remove all regions but the current one | {.shortcuts} ### Misc {.col-span-2 .row-span-2} | Command | Description | | ----------------- | ------------------------------------------ | | `Ctrl-A` `C-l` | Redraw window | | `Ctrl-A` `[` | Copy mode | | `Ctrl-A` `ESC` | Copy mode | | `Ctrl-A` `]` | Paste | | `Ctrl-A` `M` | Monitor window for activity | | `Ctrl-A` `_` | Monitor window for silence | | `Ctrl-A` `Ctrl-V` | Enter digraph
_(non-ASCII characters)_ | | `Ctrl-A` `X` | Lock (password protect) display | | `Ctrl-A` `:` | Enter screen command | | `Ctrl-A` `H` | Enable logging in the screen session | {.shortcuts} ### Screen tricks SSH and attach in one line ```shell script $ ssh -t user@host screen -x ```