How do i use gui apps without DE [low priority]

i have disabled the Gnome using
$ sudo systemctl set-default multi-user.target
i dont want full gnome, but I just need gui apps like a browser preferably chrome to run jupyter notebook on it. Im lil afraid to try i3 as I had experience with it breaking my DE, it took me 5-8 hrs setting up my orin nano

There might be some ways to use a framebuffer sometimes, but I don’t think you are going to have luck on that. Someone else might mention the state of the framebuffer in L4T R35.x and R36.x Orin.

I do think you might need to understand how X (the X11 graphics server) works. It isn’t what most people think, and it might help you to understand, but it would be a longer more difficult learning curve.

The X server (X11) does not run multiple applications. It isn’t purely a graphics app either. What it is is an API with a defined buffer and and interface. The buffer just happens to be coupled to a monitor most of the time. X runs exactly one program.

The program run is the desktop manager, which in this case is Gnome. It is Gnome that adds the desktop, the icons, the ability to launch other programs, so on. You can actually start X with nothing running, and all you will see is a bad gray background and a big cursor. When X starts Gnome, this is when you see the desktop.

There are times when X does not run graphics at all. As I mentioned, it is an API. There are CUDA programs which can run against the X server (many), and they don’t necessarily care about a monitor or desktop.

If you look at the script startx, it is human readable. X will start owned by whoever runs startx. It uses an alternate $DISPLAY environment variable, so it is possible that your main GUI is on key bindings for ALT+F1, and this might be on ALT+F2. It just depends. The logs in “/var/log/Xorg.*.log” number the * via the $DISPLAY, so you will get different logs for multiple servers running simultaneously.

If you alter startx, which has mostly options for different desktop managers, you could name a single GUI app. For example, you could name a clock which is GUI and it would spawn just that clock on the particular server. There would not be any login. Incidentally, what X usually starts is not the desktop manager, but a login manager; then the login manager sets ownership to the person who is logging in followed by pivoting to the desktop app that user uses. Take a look at startx, try it without modifications as root (sudo), and as your regular user. Use control-C I think to stop it, or “sudo killall X”. Consider copying that script somewhere else, and using the copy to try to start just your app.

I don’t know if things your app spawns will depend on a desktop environment or not. Often a single kiosk style app is easy enough to get running.

I’ll take what I can get, I scoured the internet and almost got the same thing. Thanks for the detailed reply. I’ll try it.

As in jetpack the gui is discouraged, some kind of generalized solution like above should be included in FAQ in my openion.

Hi,
You may try minimum rootfs:
Root File System — NVIDIA Jetson Linux Developer Guide 1 documentation

The rootfs does not have GUI and you can develop your own window system or use DRM(direct rendering manager).

1 Like

Well its lengthy and time consuming but its a proper soln

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.