Support us on Patreon to keep GamingOnLinux alive. This ensures all of our main content remains free for everyone. Just good, fresh content! Alternatively, you can donate through PayPal. You can also buy games using our partner links for GOG and Humble Store.
We do often include affiliate links to earn us some pennies. See more here.

Distrobox is a way to use pretty much any other Linux distribution in your terminal, along with full GUI apps and now it supports the Steam Deck with SteamOS too.

The update released a few days ago had some issues (#1, #2, #3), which I reported to the developer and they've since fixed up the installers and the documentation for Steam Deck. So with that in mind, I took it for a spin to see how it works and I've been thoroughly impressed with how easy it is.

It gives you a container system to install other distributions. So for the likes of SteamOS on the Steam Deck, without messing with the root filesystem, you can install something like Ubuntu and access everything it has available. Useful for software not available via Flathub (Discover) or elsewhere.

Here's a short video overview of the basic setup and running some apps from Ubuntu on Steam Deck:

YouTube Thumbnail
YouTube videos require cookies, you must accept their cookies to view. View cookie preferences.
Accept Cookies & Show   Direct Link

Guide (official link):

First up, run these install scripts one after the other in a terminal app (like Konsole on Steam Deck):

curl -s https://raw.githubusercontent.com/89luca89/distrobox/main/install | sh -s -- --prefix ~/.local

curl -s https://raw.githubusercontent.com/89luca89/distrobox/main/extras/install-podman | sh -s -- --prefix ~/.local

Next up, we need to add the directories it uses into our .bashrc file, so we can run commands as normal in terminal. In your .bashrc file (found in your Home folder), open it in a text editor and add these to the bottom:

export PATH=$HOME/.local/bin:$PATH

export PATH=$HOME/.local/podman/bin:$PATH

Now you can install a Linux distribution with Distrobox, with Ubuntu as the example (in terminal again):

distrobox create -i ubuntu:20.04

Then once done, you can enter it:

distrobox enter ubuntu-20-04

This is where the fun begins. Now you can install or do whatever you like, inside Ubuntu. However, you also need to add this to your .bashrc file to run graphical applications / games on Steam Deck:

xhost +si:localuser:$USER

Article taken from GamingOnLinux.com.
24 Likes
About the author -
author picture
I am the owner of GamingOnLinux. After discovering Linux back in the days of Mandrake in 2003, I constantly checked on the progress of Linux until Ubuntu appeared on the scene and it helped me to really love it. You can reach me easily by emailing GamingOnLinux directly. You can also follow my personal adventures on Bluesky.
See more from me
The comments on this article are closed.
All posts need to follow our rules. For users logged in: please hit the Report Flag icon on any post that breaks the rules or contains illegal / harmful content. Guest readers can email us for any issues.
33 comments
Page: «2/2
  Go to:

Purple Library Guy Sep 13, 2022
I mean, for example let's create a hypothetical situation that any user could run into, let's say you are managing multiple servers
Hee!
Let's say I'm not doing that, shall we?
elmapul Sep 13, 2022
so... linux subsystem for linux?
BlackBloodRum Sep 13, 2022
  • Supporter Plus
I checked the man page to learn what exactly this command is doing since I haven't seen the -p and -v flags before, and I didn't even know that this was a thing that could be done - thanks for this one, it ought to come in handy at some point! This is one of those things that falls under my "right tool for the job" criteria.
Oh.. copy and paste yes I suppose there is that I hadn't thought of that

Still that involves going into each folder to paste

I mean, for example let's create a hypothetical situation that any user could run into, let's say you are managing multiple servers
Hee!
Let's say I'm not doing that, shall we?


Okay, another example with the same idea.

Let's say you want to organize your music library by genre and by year

So again, hypothetically a layout as follows:

Music
- Classical
- 1990
- 1991
- (etc util 2022)
- Country Western
- 1990
- 1991
- (etc util 2022)
- Rap
- 1990
- 1991
- (etc util 2022)
- Raggae
- 1990
- 1991
- (etc util 2022)
- Rock
- 1990
- 1991
- (etc util 2022)

 
$ cd ~/Music
$ mkdir -p -v {'Classical','Country Western',"Rap",'Raggae','Rock'}/{1990..2022}


Simples and effective
Liam Dawe Sep 13, 2022
So, you also post an article about how much you're loving that Disney game. And you make the headline for this as "Distrobox can open up the Steam Deck to a whole new world". Were you singing the last part in your head while writing this?
👀 👀 no comment.
Purple Library Guy Sep 13, 2022
I checked the man page to learn what exactly this command is doing since I haven't seen the -p and -v flags before, and I didn't even know that this was a thing that could be done - thanks for this one, it ought to come in handy at some point! This is one of those things that falls under my "right tool for the job" criteria.
Oh.. copy and paste yes I suppose there is that I hadn't thought of that

Still that involves going into each folder to paste

I mean, for example let's create a hypothetical situation that any user could run into, let's say you are managing multiple servers
Hee!
Let's say I'm not doing that, shall we?


Okay, another example with the same idea.

Let's say you want to organize your music library by genre and by year

So again, hypothetically a layout as follows:

Music
- Classical
- 1990
- 1991
- (etc util 2022)
- Country Western
- 1990
- 1991
- (etc util 2022)
- Rap
- 1990
- 1991
- (etc util 2022)
- Raggae
- 1990
- 1991
- (etc util 2022)
- Rock
- 1990
- 1991
- (etc util 2022)

 
$ cd ~/Music
$ mkdir -p -v {'Classical','Country Western',"Rap",'Raggae','Rock'}/{1990..2022}


Simples and effective
Now that makes total sense to me. Except the part where a "Country Western" category exists, of course.
BlackBloodRum Sep 13, 2022
  • Supporter Plus
Oh? Is it not called country western? Just called country? I don't know

Me and non-metal music is like a first-time computer user and BSD[1], it just doesn't happen. So I just picked more modern genres I figure modern people listen to in order to be relatable to them

I'm no music expert and the closest I come to playing a musical instrument is a plastic guitar on a video game

[1] I'm now fully expecting someone replies soon to say their first computer experience was with BSD
Pengling Sep 13, 2022


Okay, another example with the same idea.

Let's say you want to organize your music library by genre and by year
Now that makes total sense to me. Except the part where a "Country Western" category exists, of course.
My use-case for this will be categorising the photographs of my collection of Bomberman items as it gets bigger... My wallet's not gonna get out of next year's 40th anniversary unscathed!

So, you also post an article about how much you're loving that Disney game. And you make the headline for this as "Distrobox can open up the Steam Deck to a whole new world". Were you singing the last part in your head while writing this?
👀 👀 no comment.
Well, you have excellent taste in music.


Last edited by Pengling on 13 September 2022 at 6:57 pm UTC
fabertawe Sep 14, 2022
"install-podman" wouldn't work until I'd set a password for user "deck". Also, trying to use the on screen keyboard is a total pain, especially with no CTRL and arrow keys.

So... attach a proper keyboard until I've set up SSH access. Looks promising though. I'm also going to create an encrypted dir with EncFS for my (Pale Moon) browser profile, etc.
BlackBloodRum Sep 14, 2022
  • Supporter Plus
"install-podman" wouldn't work until I'd set a password for user "deck". Also, trying to use the on screen keyboard is a total pain, especially with no CTRL and arrow keys.

So... attach a proper keyboard until I've set up SSH access. Looks promising though. I'm also going to create an encrypted dir with EncFS for my (Pale Moon) browser profile, etc.
You'd have had to set a password for the deck user to configure ssh access anyway, so no worries!

The good news is the deck won't ask you for that password unless you're doing something in terminal, ssh etc.

Oh, and if you add / edit any files in /etc, those changes will persist across steam deck updates.

Anyway, regarding input, yeah in its default state trying to do anything via keyboard is a pain in a certain area south from your head[1]

But there's good news! You can reconfigure the controller layout from steam preferences in desktop mode, which means you can quickly add other keys.

Personally I set it as follows, and found the whole thing much easier to use:
R2 = Enter key press
DPad = U / D / R / L Arrow keys
A Button = Left click
B Button = Right click
X Button = C keyboard key
Y Button = V keyboard key
L1 = Control key
R1 = Y keyboard key
Right side joystick = Mouse movement

I much prefer this way because it means I don't have to touch the screen and leave fingerprints all over it 😂

Naturally your preference will differ, but it's just my 2c 🫡

Enjoy your deck 😃

[1] Trying to keep to the rules and avoiding bad language


Last edited by BlackBloodRum on 14 September 2022 at 10:50 am UTC
Michael_V Sep 25, 2022
Hi, this guide works great, but I've run into issues when trying to make a link to the program I'm trying to run, since I dont want to have to open the terminal everytime I want to run Vivaldi, but it doesn't want to work. Any way you could make a follow up vid which expands on that, or anyone in the comments wants to help? Here is a link to the forum post I made to hopefully expound on my issue.https://www.gamingonlinux.com/forum/topic/5433/
straws Nov 9, 2022
I'm having trouble with a portion of this installation, as described by another user here.

I've inserted the code  xhost +si:localuser:$USER  in the .bashrc file as specified but when I try to enter ubuntu in bash I receive the error  bash: xhost: command not found . I should clarify that I am able to enter the ubuntu subsystem but with said error. Leads me to believe everything is working except the UI ability (which I as a shell dummy would really like to use)

I'm a fairly new linux user going mostly by tutorial right now and trying to get my steam deck set up as a development environment for The Odin Project and I'm pretty stuck at this stage.
slembcke Jul 5, 2023
View PC info
  • Supporter Plus
Awesome! My laptop died and I have a pre-order for an AMD Framework coming... soon hopefully? The Deck's small screen isn't ideal, but I was able to get all my tools and such installed and working without too much effort. Thanks for pointing this project out. :)
Rudder2 Aug 30, 2023
I keep getting this error on the second command to paste in. Any idea why? Any and all help greatly appreciated.

 
$ curl -s https://raw.githubusercontent.com/89luca89/distrobox/main/extras/install-podman | sh -s -- --prefix ~/.local
 Checking dependencies...
 Fetching crun 1.8.7...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 2773k  100 2773k    0     0  3616k      0 --:--:-- --:--:-- --:--:-- 3616k
 Fetching podman 4.6.2...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100     9  100     9    0     0     10      0 --:--:-- --:--:-- --:--:--    10
 Unpacking Podman...
tar: This does not look like a tar archive

gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
The comments on this article are closed.