Beaglebone Black - Configuring a bare LXQT desktop with a user-supplied background image


(Bruce McKee) #1

I am developing a PyQT GUI to run on a BeagleBone Black and a 4D Systems 4D Systems Capacitive Touch Display - GEN4-4DCAPE-43CT-CLB, and

Because of the small screen size, I would like to set up a bare desktop with a background that I provide (i.e. get rid of the taskbar completely for now, as well as the top grey bar). I’ve noticed that PyQT will only pop up widgets/windows in the area between the top/bottom gray bars.

I’ve also tried turning off the LXQT desktop via $ sudo systemctl isolate multi-user.target

However, after this I get “cannot connect to X server :0.0” errors when I try running my GUI code.

Is there a way to create a bare desktop via configuration files?

Thanks!


(Chris Rainey) #2

Most everything that is loaded in a typical LXQt session is controllable via the lxqt-session and configurable in its’ files under $XDG_{GLOBAL/USER}_CONFIG dirs(i.e. /etc/xdg or ~user/.config) folders.


(Pedram Pourang) #3

You should be more specific about “bare desktop” and “top/bottom gray bars”. However, if you mean you don’t want the panel or runner, you could uncheck them in LXQt Session Settings (as @ckrzen said).


(Alf Gaida) #4

@ckrzen is right - but we go a step further - you might want to have the lxqt-session running, as the session deliver first hand the session and some environmental things - i would try it the (really) hard way.

Open an terminal of choice and:

pkill pcmanfm-qt # the desktop handling should be gone now
pkill lxqt-panel # voila - no panel anymore

and ofcourse - configure your session afterward the way you like it


(Pedram Pourang) #5

Yes, that’s another possibility.


(Pedram Pourang) #6

Yet another possibility: stop any component you don’t want from LXQt Session Settings.

Such things can’t be a problem with LXQt.


(Bruce McKee) #7

Hi Alf;

Thank you so much - that worked!

Is there documentation on how one might customize the LXQT environment via the command line - in particular, changing the default “gray” background after these commands, to a user-specified .JPG or .PNG?

Thanks!

-Bruce


(Bruce McKee) #8

Hello Chris;

Thank you very much for the pointers to the .config folders. Is there online documentation (with examples) that illustrate what is possible by changing these folder contents? And is there a way to apply configuration changes via the command line?

Thanks!

-Bruce M.


(Chris Rainey) #9

While online/offline “man” pages sometimes give examples of usage, the better or sometimes quicker course is a web search. Additionally, the tried-n-true method is to examine the existing config files or source code to familiarize yourself will the starting points of the process and then experiment with changes until you achieve the desired result. While well-commented config files and source code are ideal for this, … it is not always the case. :wink:


(Chris Rainey) #10

Also, the ‘sed’ command is your friend for automating such things. I.e.:

~$ sudo sed -i.orig ‘s/#WaylandEnable=true/WaylandEnable=false’ /etc/gdm3/custom.conf && sudo sed -i.orig ‘s/#KillUserProcesses=no/KillUserProcesses=yes’


(Chris Rainey) #11

EDIT: fix for partial command in the previous example.

~$ sudo sed -i.orig ‘s/#WaylandEnable=false/WaylandEnable=false’ /etc/gdm3/custom.conf && sudo sed -i.orig ‘s/#KillUserProcesses=no/KillUserProcesses=yes’ /etc/systemd/logind.conf


(Alf Gaida) #12

sed is the friend of no one - esp. if the one in charge has to ask basic things. find / --delete is much easyier to type.

My 2¢


(Bruce McKee) #13

Hello Pedram;

I like your suggestion re: stopping. Is the “stopping” done by deleting items from the

/home/debian/.config/lxqt/panel.conf (is “panel” the taskbar, or is it the entire desktop?)

For example, if I wanted to not start these items, just delete them from panel.conf?

[clock]

alignment=Right

type=clock

[cpuload]

alignment=Right

type=cpuload

[mainmenu]

alignment=Left

type=mainmenu

[mount]

alignment=Right

type=mount

[panel1]

alignment=-1

animation-duration=0

background-color=@Variant(\0\0\0\x43\0\xff\xff\0\0\0\0\0\0\0\0)

background-image=

desktop=0

font-color=@Variant(\0\0\0\x43\0\xff\xff\0\0\0\0\0\0\0\0)

hidable=false

iconSize=22

lineCount=1

lockPanel=false

opacity=100

panelSize=32

plugins=mainmenu, quicklaunch, taskbar, tray, statusnotifier, mount, volume, clock, showdesktop, cpuload

position=Bottom

show-delay=0

width=100

width-percent=true

Thanks!


(Bruce McKee) #14

Hi Chris;

Thank you for the advice, and if I find well-commented config and source code, I’ll post it.

-Bruce M.


(Pedram Pourang) #15

You should first stop the panel and then, if you remove those blocks correctly and start the panel again, the corresponding widgets will be removed. But I think it’s easier to do it directly by right clicking the panel and configuring it.

Command options can be found by using --help (e.g. pcmanfm-qt --help). The meanings of config keys/values can be known by playing with the app (the panel, for example). Sometimes manual editing of config files has immediate effects but in other cases, the app should be stopped before editing and started afterward – most apps rewrite their config files on quitting.


(Bruce McKee) #16

Hi Pedram;

Thank you for the advice - what is the mechanism for stopping/starting the panel (is it something done through the windowed interface, or is it a command line command?).

Thanks!

-Bruce M.


(Alf Gaida) #17

And you might have a look into Autostart - here one could place individual starters for own applications. Example: you might want feh to paint your background picture - put it into Autostart


(Pedram Pourang) #18

I don’t understand this question but @agaida explained how to stop the panel with command-line.