Lxqt-session


#1

Hello,

I was wondering if there will be an update to lxqt-session. To be more specific, I was wondering if there are any plans to provide support for something that behaves like LXDE’s “lxsession -s” where I would be able to mess around with the autostart configuration file.


Remove task bar and create customized menu
(Alf Gaida) #2

lxqt-session --help - you are able to load a configuration file - but afaik there are no plans to provide autostart files


(Jim Shriner) #3

I am also hoping to figure out how to implement this behavior. I have a heavily customized version of Lubuntu with multiple LXDE desktop paradigms that I created by reverse-engineering LXLE paradigms. I have desktop paradigms for Windows, Mac OSX, Unity, Gnome, and Gnome2 layouts, but LXDE. I’ve been watching LXQT and tinkering for awhile now and I think it’s almost ready…at least in Lubuntu. I’d LOVE to port these desktop paradigms to an LXQT distro.

In looking at the underlying directory structure and config files for LXQT desktop, it looks like this behavior could perhaps be achieved with the panel config and the start script; perhaps by re-naming panel configs and calling them in the startup script. I haven’t tested this yet, as I’ve been waiting patiently to see if LXQT provides the “-s” session flags. If they’re not coming, I guess I’ll be hacking configs to see what happens.

To Alf Gaida: Are you the fellow who produces the Siduction LXQT desktop? I LOVE the Siduction implementation of LXQT. I keep hearing that LXQT isn’t ready yet…design inconsistencies…blah, blah, blah…but Siduction LXQT sure looks and behaves like a polished and mature desktop to me. If you’re the man behind that…well, YOU’RE THE MAN!!! If not, I encourage other LXQT wannabes and naysayers to take a look at that distro to see what LXQT can be!


(Alf Gaida) #4

I am - thanks for the flowers - and if you look into the settings you will see that there is nothing special - just plain stock debian LXQt with some custom settings - maybe it helps that i know a bit about LXQt (and maintain the packages in debian).


(Jim Shriner) #5

Well there isn’t much available to compare LXQT distro configs, so I wouldn’t know any better. Lubuntu Next (which is still kinda messy, IMO), Siduction, Manjaro, and Red Core are all that comes to mind. Of course LXQT packages are available in numerous distros, but these are the few who actually curate an LXQT experience. Siduction is the one that made me think “naysayers be darned…it IS ready?!”

Back to the original post…if the “–session” flag won’t be implemented, am I on the right track with multiple lxqt-panel.config files, and a start script *.desktop file for the desktop manager to present to user logins?


(Alf Gaida) #6

the -s switch is only about the session name i guess - which also select which /etc/xdg/$foo/$sessionname one will use?


(Jim Shriner) #7

Correct. The -s switch (–session) invokes a text script located in usr/share/xsessions, for instance “Unity”. My Unity script looks like this:

[Desktop Entry]
Name=Mimetic-Unity
Comment=Mimetic-Unity - Lightweight X11 desktop environment based on LXDE
Exec=/usr/bin/lxsession -s Mimetic-Unity -e LXDE
Type=Application

I have several other options for desktop paradigms, with each selected at startup from the desktop/login manager.

My home/.config/lxsession directory looks like this:

with each lxsession config calling a corresponding panel layout in home/.config/lxpanel, which looks like this:
(deleted due to 1 photo limit for new users)

In the absence of lxqt-session runtime flags for --session, I’m not sure how to implement this setup in LXQT. Referencing Siduction LXQT directory structure, it looks like I can modify scripts in usr/share/xsessions which seem to invoke the lxpanel configurations in home/.config/lxqt/panel.conf??
(Siduction photo deleted due to 1 photo limit)

If correct seems like I can modify the panel.conf files for my intended desktop paradigms (panel-unity.conf or panel-windows.conf, etc…), but I’m not sure how to invoke the desired panel.conf without the lxsession. The lack of a “middle layer” is throwing me off. Any thoughts?


(Alf Gaida) #8

There is an easy and general solution - file a bug about upstream in https://github.com/lxqt/lxqt/issues - one can right now work with different xdg pathes - i know that Lubuntu Next was/is doing so. But having configuration profiles at hand might be a good thing. I really can’t say anything about the consequences and the implementation effort right now.

A hint might be: https://github.com/lxqt/lxqt/issues/1369 - profiles would go a step further. but right now it should be possible to set the xdg-dirs the way you like them. ( /etc/xdg/$profile and ~/.config/$profile instead of the upstream and distribution standard)


(Jim Shriner) #9

most of what you suggested is over my pay grade Alf. Although I refer to myself as a “hacker”, I’m not a hacker with knowledge or experience…I’m more of an ignorant bumbler who stumbles onto solutions as a result of “I wonder what happens when I do this…” LOL. If you’ve ever heard the saying “when the only tool you possess is a hammer, every solution is a nail”, I think they were referring to me.

With that said, using Siduction as reference, I’ve looked into /usr/share/xsessions/‘LXQt Desktop’ and see that the script references ‘Exec=startlxqt’ and ‘TryExec=lxqt-session’. I don’t understand the difference between the two, but looking at /usr/bin/lxqt-session and /usr/bin/startlxqt reveals that both files are binaries that I cannot even peek at, let alone edit. The home directory ~/.config/lxqt appears to contain the subfiles for lxqt startups, although I can’t seem to figure out the “autostart” file that is familiar in Lubuntu/LXDE. And panel.conf is obviously where the panel configurations are located.

Speaking only for myself, I’d simply like the option to select from multiple panel layouts at the time of login from DM (which I understand parses options from the /usr/share/xsessions directory. Inasmuch as I don’t know what I don’t know, it seems like a simple and elegant solution might be to have multiple panel.conf files available for different startup scripts (startlxqt? or lxqt-session?). For instance panel-gnome2.conf and panel-windows.conf and panel-unity.conf and/or panel-mac.conf would be ideal for me, as my startup sequence/autostart doesn’t change…only the appearance of the desktop panels. How can I accomplish this if I can’t modify the startup script of “startlxqt” or “lxqt-session”, whichever is appropriate? If I could see the contents of that script I would think it would be a simple matter to edit the line referencing the use of panel.conf. Since I cannot see, nor edit, what other options might I have to accomplish this? Should I file a bug/feature request for this functionality?

Conversely, as a matter of the greater good, I can envision scenarios where others may wish to have different startup scenarios that may or may not include different desktop/panel appearances. In this instance, I think alternative ~/.config/lxqt directories may be the preferred solution: for instance ~/.config/lxqt-gnome2 or ~/.config/lxqt-unity, etc… This is how LXDE functions, accomplished by the use of session flags for the lxsession binary. Same question…should I file a bug/feature request for this functionality?

I’ve been waiting for LXQt to get to this point since the moment the merger was announced between LXDE-RazorQT, which is what? 5+ years? Now that it’s here, I’m truly excited at the possibilities and think it was probably worth the wait. Although somewhat impatient (and frustrated at times), I can see the wisdom in LXQt developers’ decisions and timing. But I don’t want to wait another few years for implementation of this feature (if ever). I’m looking for the path of least resistance. Is there a way for ME to implement this feature now? Or sooner rather than later? Or should I just file a bug/feature and hope for the best?

If the former, please advise how, as my hammer & nail can’t figure this out. If the latter, I know what to do. Thanks in advance for any advice/guidance you may offer!


(Alf Gaida) #10

To sum it up - you need some kind of profile for different use cases.
Bug: Session profiles

Edit: Now that i wrote the bug i think a github integration into discourse would be nice to have too :slight_smile:


(Jim Shriner) #11

Thank you for that quick reply AND filing the bug report. You’re “da man”!


(palinek) #12

You probably overlooked something, because startlxqt is a simple shell script.

You can easily achieve it by setting the XDG_CONFIG_HOME (and maybe XDG_DATA_HOME?) to something before launching the startlxqt. The easiest way that comes to my mind is to create a new .desktop entry in /usr/share/xsessions with the changed Exec key, e.g.:

Exec=/bin/sh -c "XDG_CONFIG_HOME=\"\$HOME/.config-testing\" exec startlxqt"

Note, that this way you affect almost all applications …


(Jim Shriner) #13

palinek, you are correct…startlxqt is a shell script…my bad. side note: you say “simple shell script”, but that doesn’t look “simple” to me, LOL!

I do see that script checks for and/or sets numerous variables for directories, configs, etc…, but I fail to see how changing an XDG_CONFIG directory will provide for the OPTION to select a different desktop appearance at each startup? Not saying that it won’t, just that I don’t understand how (yet).

Conversely, I note that the LAST line in the startlxqt script is “Exec=lxqt-session”. From my limited knowledge and understanding (and referencing my hammer & nail analogy above), I’m certain that what I’m looking for is in there…which is some kind of invocation to execute the individual file ~/.config/lxqt/panel.conf or the entire ~/.config/lxqt directory.

Is there a way to modify the /usr/bin/lxqt-session file? Or must that be done on the coding side? If I can modify the lxqt-session file, I can copy/clone that file, rename it to something else (i.e. lxqt-session-unity), modify the line that calls the panel.conf file or the ~/.config/lxqt directory, and create an xsession file that calls the newly created & renamed lxqt-session-* file. Thoughts?


(Alf Gaida) #14

@palinek - different config dirs are a part of the LXDE session magic - another important part of the LXDE session magic ist their autostart file - and this really sucks sometimes as it leads to confusion for users. So i would be fine with alternative configurations but i really dont want the autostart part implemented in LXQt


(Jim Shriner) #15

Hey Alf, I saw this “bug” was moved to “Needs Triage” and then again to “Low Priority”. I got really excited to see the activity! And then it occurred to me…

Does the sequential change mean progress has been made and this is coming soon? Or does it mean little progress and therefore not coming soon?


(Alf Gaida) #16

That means the github project management is becoming usable step by step and that i put all open issues into and tried a first weighting of the issues.