In this article, we will see how to install screen command on Ubuntu 22.04. If you are looking to create and manage multiple tasks with remote server on a single interface then screen would be the ideal utility to use. You can easily detach the long running processes from your terminal to make sure it does not terminate due to some network or other local issues. Even if you are logged out from remote server, your task would continue to run till it finishes.
You can also reattach the detached session from same or different terminal session. screen is a free and open source utility which can be easily installed on Linux or Unix based systems. Here we will see the steps to install screen command on Ubuntu 22.04 based systems.
Also Read: How to kill all detached screen sessions on Linux or Unix
a) You should have a running Ubuntu 22.04
Server.
b) You should have sudo
or root
access to run privileged commands.
c) You should have apt
or apt-get
utility available in your server.
d) Minimum hardware requirements:-
Before installing screen packages, run below command to check and install all the latest available upgrades from default Ubuntu repo. This will help install all the latest security patches and bugfixes.
cyberithub@ubuntu:~$ sudo apt update && sudo apt upgrade
Then to install screen utility, run sudo apt install screen
command as shown below. This command allows you to install screen package from default Ubuntu repo along with all its required dependencies.
cyberithub@ubuntu:~$ sudo apt install screen [sudo] password for cyberithub: Reading package lists... Done Building dependency tree... Done Reading state information... Done The following additional packages will be installed: libutempter0 Suggested packages: byobu | screenie | iselect The following NEW packages will be installed: libutempter0 screen 0 upgraded, 2 newly installed, 0 to remove and 66 not upgraded. Need to get 680 kB of archives. After this operation, 1,081 kB of additional disk space will be used. Do you want to continue? [Y/n] Y Get:1 http://in.archive.ubuntu.com/ubuntu jammy/main amd64 libutempter0 amd64 1.2.1-2build2 [8,848 B] Get:2 http://in.archive.ubuntu.com/ubuntu jammy/main amd64 screen amd64 4.9.0-1 [672 kB] Fetched 680 kB in 2s (324 kB/s) Selecting previously unselected package libutempter0:amd64. (Reading database ... 244813 files and directories currently installed.) Preparing to unpack .../libutempter0_1.2.1-2build2_amd64.deb ... Unpacking libutempter0:amd64 (1.2.1-2build2) ... Selecting previously unselected package screen. Preparing to unpack .../screen_4.9.0-1_amd64.deb ... Unpacking screen (4.9.0-1) ... Setting up libutempter0:amd64 (1.2.1-2build2) ... Setting up screen (4.9.0-1) ... Processing triggers for install-info (6.8-4build1) ... Processing triggers for libc-bin (2.35-0ubuntu3.6) ... Processing triggers for man-db (2.10.2-1) ...
To verify package installation status, run dpkg -s screen
command as you can see below. To know more about dpkg command, check 21+ Practical dpkg Command Examples for Linux Beginners.
cyberithub@ubuntu:~$ dpkg -s screen Package: screen Status: install ok installed Priority: standard Section: misc Installed-Size: 1005 Maintainer: Ubuntu Developers Architecture: amd64 Version: 4.9.0-1 Depends: libc6 (>= 2.34), libcrypt1 (>= 1:4.1.0), libpam0g (>= 0.99.7.1), libtinfo6 (>= 6), libutempter0 (>= 1.1.5) Suggests: byobu | screenie | iselect (>= 1.4.0-1), ncurses-term Conffiles: /etc/init.d/screen-cleanup 44ec7824f5ef10df73e92ad064331ea0 /etc/screenrc 12c245238eb8b653625bba27dc81df6a ............................................
From above output, you can get below information:-
To only check the current installed version of screen utility, run screen --version
command as shown below.
cyberithub@ubuntu:~$ screen --version Screen version 4.09.00 (GNU) 30-Jan-22
Now that screen utility is installed, you can launch a screen detached session by using screen -d -m top
command as shown below. Here -d
option is used for detaching the screen session from terminal interface and allow it to run on background and -m
option is used to force create a new screen session.
cyberithub@ubuntu:~$ screen -d -m top
To check the launched detached session, run screen -ls
command.
cyberithub@ubuntu:~$ screen -ls There is a screen on: 17261..ubuntu (24/03/24 03:08:55 AM IST) (Detached) 1 Socket in /run/screen/S-cyberithub.
You can also choose to reattach a detached screen session. For example, here we are reattaching session 17261
using screen -r 17261
command as shown below. Here -r
option is used to reattach the detached session.
cyberithub@ubuntu:~$ screen -r 17261
top - 03:10:43 up 2:37, 3 users, load average: 0.07, 0.02, 0.00
Tasks: 179 total, 1 running, 178 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 1959.2 total, 231.1 free, 386.8 used, 1341.3 buff/cache
MiB Swap: 6044.0 total, 5592.7 free, 451.3 used. 1394.5 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2689 cyberit+ 20 0 3489944 176652 118672 S 0.3 8.8 0:36.05 gnome-shell
17262 cyberit+ 20 0 13228 4224 3456 R 0.3 0.2 0:00.16 top
1 root 20 0 168308 13020 7900 S 0.0 0.6 0:04.22 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
.....................................
If you are looking to kill a screen session without reattaching it then you can use screen -S -X quit
command. Here -S
option is used to specify the screen session id or name and -X
option is used to send a specific command to that session, in our case quit
command to session 17274
. This method allows to kill a session without the need of reattaching it.
cyberithub@ubuntu:~$ screen -S 17274 -X quit
To verify, run screen -ls
command. You won’t see that session running.
cyberithub@ubuntu:~$ screen -ls No Sockets found in /run/screen/S-cyberithub.
To check all the options available with screen command, run screen --help
command as shown below.
cyberithub@ubuntu:~$ screen --help
If you don’t need screen utility anymore then you can very well remove it from your system by using sudo apt remove screen
command as shown below. To remove all dependent packages, use --auto-remove
option with below command.
cyberithub@ubuntu:~$ sudo apt remove screen [sudo] password for cyberithub: Reading package lists... Done Building dependency tree... Done Reading state information... Done The following package was automatically installed and is no longer required: libutempter0 Use 'sudo apt autoremove' to remove it. The following packages will be REMOVED: screen 0 upgraded, 0 newly installed, 1 to remove and 66 not upgraded. After this operation, 1,029 kB disk space will be freed. Do you want to continue? [Y/n] Y (Reading database ... 244880 files and directories currently installed.) Removing screen (4.9.0-1) ... Processing triggers for install-info (6.8-4build1) ... Processing triggers for man-db (2.10.2-1) ...
Our latest Canonical website rebrand did not just bring the new Vanilla-based frontend, it also…
At Canonical, the work of our teams is strongly embedded in the open source principles…
Welcome to the Ubuntu Weekly Newsletter, Issue 873 for the week of December 29, 2024…
Have WiFi troubles on your Ubuntu 24.04 system? Don’t worry, you’re not alone. WiFi problems…
The following is a post from Mark Shuttleworth on the Ubuntu Discourse instance. For more…
I don’t like my prompt, i want to change it. it has my username and…