-
Notifications
You must be signed in to change notification settings - Fork 438
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Discussion] Consider removing --mount type=devpts,destination=/dev/pts
#688
Comments
This seems to be related to #671 ? The actual error I get is this alexpdp7/alexpdp7#10 (comment) , which looks somewhat similar. There seems to be something interesting lurking around, but I don't know enough to pin it down :( |
Hit the same issue, trying to run CentOS Stream 9 QT-based UI apps using distrobox + podman + crun on debian bookworm lxc environment on a aarch64 Chromebook running Chrome OS (hope that makes sense), but I ran into many issues to be honest, this is just one. |
As of commit f1913c2 the init is now doing the devpts internally |
Different bug now, on latest version of git main branch:
|
This would be a significant feature for ChromeOS if we could fix this, it would mean you could run almost any Linux distro's UI app on ChromeOS |
How is your setup? Lxc with inside rootless podman? |
Yeah (well I'm trying rootful rather than rootless)... That's what ChromeOS gives you out of the box (well you can choose to install either docker or podman)... You are given an LXC Debian environment that can run UI apps with sound, etc. But there's no easy way to switch from Debian to other distros in this environment, that's why distrobox is super handy here. I've gotten distrobox working with non-UI apps on it very well, by more of less deleting offending lines if memory serves me right on how I hacked it. But UI apps don't work there at present. |
Just tried rootless, same result |
And just to confirm UI apps work fine of course outside the distrobox environment, in the Debian environment provided by ChromeOS |
Not sure what is different in Chromeos, but on ubuntu, using LXC (via lxd) + Distrobox with nested rootless podman seems to work as intended: EDIT: This is the config dump of my LXC test: architecture: x86_64
config:
image.architecture: amd64
image.description: ubuntu 22.04 LTS amd64 (release) (20230815)
image.label: release
image.os: ubuntu
image.release: jammy
image.serial: "20230815"
image.type: squashfs
image.version: "22.04"
security.nesting: "true"
security.privileged: "true"
volatile.base_image: ebed156c664de5e9f86c1a2eee7b61031af072af35e90048d2944b3e485f8303
volatile.cloud-init.instance-id: 38365859-f6da-4c31-a6ba-c8664ca73ede
volatile.eth0.host_name: veth6dd1fa82
volatile.eth0.hwaddr: 00:16:3e:14:f3:24
volatile.idmap.base: "0"
volatile.idmap.current: '[]'
volatile.idmap.next: '[]'
volatile.last_state.idmap: '[]'
volatile.last_state.power: RUNNING
volatile.uuid: e34e7328-cd6f-4a52-9d42-285fdd93f439
volatile.uuid.generation: e34e7328-cd6f-4a52-9d42-285fdd93f439
devices:
rundir:
path: /run/user/1000
source: /run/user/1000
type: disk
tmpdir:
path: /tmp
source: /tmp
type: disk
ephemeral: false
profiles:
- default
stateful: false
description: "" |
Maybe we could close this issue if it solves @alexpdp7 's case and open a separate issue called "ChromeOS support" or something like that? |
We could yes |
You probably can run this in a VM or such, see below. Admittedly I run an aarch64 Chromebook, but if it was working in a x86 vm, it likely would fix aarch64 also: See "How to try google:debian/stretch on our own LXD installation" https://blog.simos.info/a-closer-look-at-chrome-os-using-lxd-to-run-linux-gui-apps-project-crostini/ |
Hmmm, I just did:
This is in a Rocky Linux 9 LXC Container in Proxmox. I'll do more digging. |
OK,
I tried:
If I remove
If I remove
, which means that the container works, but the entrypoint doesn't...
What I don't understand is the probing for running inside a container. It seems to check for |
Yup, I think 1894e4f introduced a regression by adding |
I spotted #916 , checked that out, and installed from Git. I can confirm that also works OOB for me. |
I now have working UI apps on distrobox on ChromeOS, cool 😄 Fully working now. |
After #916 it works |
Great stuff thanks everyone for checking and testing! Set the @ericcurtin PR as solver for this issue 👍 |
When using distrobox with Podman nested inside an LXC container,
distrobox enter
does not work, although in generalpodman
works.If I patch distrobox not to use
--mount type=devpts,destination=/dev/pts
, then it seems to work OK.I traced the introduction of this option to toolbx, which introduced this in containers/toolbox#568 (comment) . However, it seems that this change does not address the underlying problem- the issue is still open.
Given that distrobox supports Docker, which does not even support this option... perhaps we could remove it? It doesn't seem to serve its original purpose, and it causes issues in some (admittedly "unsupported"- and I think it's fine not to support nesting in LXC) environments.
(I suspect there might be an underlying "bug" in podman/crun that's triggered by using this flag, but it's just a hunch.)
The text was updated successfully, but these errors were encountered: