You are not logged in.
Recently, I found it better to run games (not many, just Minecraft) and other graphics extensive (Blender, Inkscape, GIMP) on a window manager than on GNOME.
I found FVWM, which is great window manager that I used to my graphics-heavy tasks (my "GPU" is built-in, so I want to make sure there is little overhead as possible).
However, I decided that I rather use the Xorg Client itself, where some of us installed as the display server. I found out that this directory:
/usr/share/xsessionsis where the GNOME login manager gets us a list of DEs that we would like to use in that session. I wanted to use the raw Xorg client (no fancy stuff, just 3 xterms and xclock)
and run that from the login manger.
I made a file called xorg.desktop and copied some of the code from the gnome.desktop into a file called xorg.desktop.
This is the contents of that file:
[Desktop Entry]
Name=Xorg
Comment=Xorg Client
Exec=startx
TryExec=startx
Icon=
Type=Application
DesktopNames=XorgNOTE: Yes, the file has been chmod with executive permissions (+x).
I rebooted and tried to see if it would work, but no, it does not. I get a blank screen and sent back to the login manager. No other TTYs contain a Xorg Client.
So, Arch Linux community, how would I go on with this? Or is this not possible? I have no problem with FVWM; this is just a matter of conserving space and wanting
a cleaner system.
Thanks for the help!
Last edited by matierpixel (2015-07-11 03:55:22)
I'm a noob, so don't expect a good answer from me. Please consult advanced administrators...
Offline
I've never tried running startx from a display manager before but I'm not surprised it didn't work. Getting what you want should be fairly simple however. When you call startx, you execute the default xinitrc contained in /etc/X11/xinit. The key lines in that script are the last 5 which call the twm window manager plus xclock and the xterms. My suggestion would be to copy those last 5 lines into a script which you could put into /usr/local/bin. Then call that script from you .desktop. You could call /etc/X11/xinit/xinitrc directly but I'm not sure that's such a good idea. It is designed to be used with startx, not a dm - for instance, I think you would end up start the scripts in /etc/X11/xinit/xinitrc.d twice as the dm would try to start them as well.
Hope this helps.
Offline
Does startx work when you run it from a virtual console, outside gdm?
Have you tried to give the full path in the xorg.desktop file:
Exec=/usr/bin/startx
TryExec=/usr/bin/startx
Offline
On top of the question already asked: What is in your startx file and why don't you just log into FVWM via the DM as you intend to use that anyways?
EDIT: Seems I misread, so please disregard my comment.
Last edited by runical (2015-07-09 13:00:27)
Offline
On top of the question already asked: What is in your startx file and why don't you just log into FVWM via the DM as you intend to use that anyways?
No. Unless I'm much mistaken he doesn't want to use FVWM, he wants to use TWM. When he refers to the "raw Xorg client" he's referring to TWM and he basically wants to be able to log in to TWM from the dm instead of logging into the console and running startx, hence the fact that he tried to launch startx from the xsessions .desktop file. My post above suggests a method for launching the default configuration specified in /etc/X11/xinit/xinitrc without actually having to invoke startx.
Offline
TWM is simple, but not even close to one of the lightest WMs. I think you should look at what WMs are actually available.
If you want to run just a single program in that X session, you don't even need a WM, just launch that program from the session file. But unless that program has a 'fullscreen' flag or 'kiosk-mode' or something similar, then you'll likely want some sort of WM. I'd suggest TinyWM which is all of about 40 lines of code and allocates only a handful of bytes of data.
"UNIX is simple and coherent" - Dennis Ritchie; "GNU's Not Unix" - Richard Stallman
Offline
runical wrote:On top of the question already asked: What is in your startx file and why don't you just log into FVWM via the DM as you intend to use that anyways?
No. Unless I'm much mistaken he doesn't want to use FVWM, he wants to use TWM. When he refers to the "raw Xorg client" he's referring to TWM and he basically wants to be able to log in to TWM from the dm instead of logging into the console and running startx, hence the fact that he tried to launch startx from the xsessions .desktop file. My post above suggests a method for launching the default configuration specified in /etc/X11/xinit/xinitrc without actually having to invoke startx.
Ah, I must have misread then. Please disregard my comment.
Offline
Does startx work when you run it from a virtual console, outside gdm?
Have you tried to give the full path in the xorg.desktop file:
Exec=/usr/bin/startx
TryExec=/usr/bin/startx
I tried the startx in a virtual terminal and no, it failed because the GDM already had a Xorg server running on TTY1. I am guessing that if GDM is disabled (via systemd), then I should be able to launch it. If it doesn't, I needed to start running around in my filesystem because now something is broken. Anyways, thanks for the tip, but Chazza's answer gave me the solution. Thanks for the help!
I'm a noob, so don't expect a good answer from me. Please consult advanced administrators...
Offline
TWM is simple, but not even close to one of the lightest WMs. I think you should look at what WMs are actually available.
If you want to run just a single program in that X session, you don't even need a WM, just launch that program from the session file. But unless that program has a 'fullscreen' flag or 'kiosk-mode' or something similar, then you'll likely want some sort of WM. I'd suggest TinyWM which is all of about 40 lines of code and allocates only a handful of bytes of data.
Thanks for the TinyWM recommendation! I might get around using it. I only wanted to use TWM as out of curiosity and the conservation (for 1.41 MB, very big conservation right there....) for disk space.
I'm a noob, so don't expect a good answer from me. Please consult advanced administrators...
Offline
I've never tried running startx from a display manager before but I'm not surprised it didn't work. Getting what you want should be fairly simple however. When you call startx, you execute the default xinitrc contained in /etc/X11/xinit. The key lines in that script are the last 5 which call the twm window manager plus xclock and the xterms. My suggestion would be to copy those last 5 lines into a script which you could put into /usr/local/bin. Then call that script from you .desktop. You could call /etc/X11/xinit/xinitrc directly but I'm not sure that's such a good idea. It is designed to be used with startx, not a dm - for instance, I think you would end up start the scripts in /etc/X11/xinit/xinitrc.d twice as the dm would try to start them as well.
Hope this helps.
Thank you very much, Chazza! Yes, this was what I was looking for.
I'm a noob, so don't expect a good answer from me. Please consult advanced administrators...
Offline