1. Overview
In Linux installations with the GNOME graphical user interface (GUI), a GNOME terminal profile is a set of configuration options that define the terminal’s appearance and behavior. It enables us to customize the color, font, scrolling, cursor, and many other settings of the terminal. Further, we can create and manage multiple profiles with specific settings according to different requirements.
Sometimes, we may want to keep a backup of the terminal profile settings or share and use the same settings on a different system. In such a situation, we can export the GNOME terminal profile and then import it on the same system after installation or on a different system. This practice of exporting and importing terminal profiles helps us to ensure consistency in the terminal environment.
In this tutorial, we’ll illustrate the method to export the GNOME terminal profile on a Ubuntu 22.04 Linux system.
Specifically, we’ll use the dconf command-line tool to export and import GNOME terminal profiles.
2. Install dconf Editor
First, we install the dconf editor on our Linux system. To do so, we open our terminal and install the dconf-editor package using apt:
$ sudo apt install dconf-editor
After the dconf editor installation, we can use the dconf command.
3. Export GNOME Terminal Profile
We can export either a specific individual GNOME terminal profile or all profiles, depending on the requirements. This enables us to save these profile settings into a single file. Later, we can share and import the exported file with others or on different systems.
3.1. Export a Specific GNOME Terminal Profile
To export a particular GNOME terminal profile, we find the identifier (ID) of the profile we want to export. For this purpose, we list all the terminal profiles through the dconf list command:
$ dconf list /org/gnome/terminal/legacy/profiles:/
:616ad865-4ac8-4681-9858-79a87effbfe0/
:6b5ceeac-39e8-44fa-aa01-818fdf30accb/
list
The output displays the IDs of GNOME terminal profiles. Let’s choose the 616ad865-4ac8-4681-9858-79a87effbfe0/ ID and export that profile.
Now, we perform the export operation by specifying its ID using the dconf dump command to the gnomeProfile.dconf file:
$ dconf dump /org/gnome/terminal/legacy/profiles:/:616ad865-4ac8-4681-9858-79a87effbfe0/ > gnomeProfile.dconf
Let’s now view the content of the gnomeProfile.dconf file via the cat command for verification:
$ cat gnomeProfile.dconf
[/]
background-color='rgb(10,2,45)'
default-size-rows=25
foreground-color='rgb(214,213,11)'
palette=['rgb(16,3,63)', 'rgb(192,28,40)', 'rgb(38,162,105)', 'rgb(162,115,76)']
visible-name='baeldung-user'
Thus, the output shows that the specified terminal profile’s settings have been successfully exported to a file.
3.2. Export All GNOME Terminal Profiles
We can also use the dconf dump command to export all the GNOME terminal profiles into a single file, e.g., allProfiles.dconf:
$ dconf dump /org/gnome/terminal/legacy/profiles:/ > allProfiles.dconf
For the verification, let’s view the content of the allProfiles.dconf file:
$ cat allProfiles.dconf
[/]
list=['b1dcc9dd-5262-4d8d-a863-c897e6d979b9', '616ad865-4ac8-4681-9858-79a87effbfe0', '6b5ceeac-39e8-44fa-aa01-818fdf30accb']
[:616ad865-4ac8-4681-9858-79a87effbfe0]
background-color='rgb(10,2,45)'
default-size-rows=25
foreground-color='rgb(214,213,11)'
palette=['rgb(16,3,63)', 'rgb(192,28,40)', 'rgb(38,162,105)', 'rgb(162,115,76)']
visible-name='baeldung-user'
[:6b5ceeac-39e8-44fa-aa01-818fdf30accb]
background-color='rgb(48,26,46)'
foreground-color='rgb(156,85,217)'
visible-name='testuser'
As a result, we can see that all the terminal profiles’ settings have been exported to the specified file.
4. Import GNOME Terminal Profile
We can transfer the exported file to the destination system using any means. This enables us to import the saved GNOME terminal profile on another deployment.
Let’s use the dconf load command to import the specific saved terminal profile from the gnomeProfile.dconf file to the local system:
$ dconf load /org/gnome/terminal/legacy/profiles:/:616ad865-4ac8-4681-9858-79a87effbfe0/ < gnomeProfile.dconf
Now, we list all the terminal profiles to ensure the changes have been applied:
$ dconf list /org/gnome/terminal/legacy/profiles:/
:616ad865-4ac8-4681-9858-79a87effbfe0/
:b1dcc9dd-5262-4d8d-a863-c897e6d979b9/
list
The output shows that the desired terminal profile has been imported successfully.
Similarly, we can also import all terminal profiles from the allProfiles.dconf file with the help of the dconf load command:
$ dconf load /org/gnome/terminal/legacy/profiles:/ < allProfiles.dconf
For the verification, let’s list all the terminal profiles:
$ dconf list /org/gnome/terminal/legacy/profiles:/
:616ad865-4ac8-4681-9858-79a87effbfe0/
:6b5ceeac-39e8-44fa-aa01-818fdf30accb/
:b1dcc9dd-5262-4d8d-a863-c897e6d979b9/
list
Hence, we get the output that displays the IDs of all the imported GNOME terminal profiles.
5. Conclusion
In this article, we explained the method to export the GNOME terminal profile on Linux. We used the dconf dump command to export a particular and all the terminal profiles and then save them in a single file. We also discussed importing the saved terminal profiles on a destination system using the dconf load command.