How to customize LXQT for Meilix

We had a task of customizing the LXQT (LXQt is the Qt port and the upcoming version of LXDE, the Lightweight Desktop Environment) desktop environment in Meilix for events. For example, we can use a distro at events for presentations so during presentations things like system sounds, notifications and panel can be disturbing elements of presentations so we required LXQT to be pre configured for that so the time required in configuration is not wasted or none of the presentations are disturbed. The default configuration of LXQT are present in ~/.config/lxqt. Configuration files are in This directory is initialized automatically. The default configuration for new users is found in /etc/xdg/lxqt but we are going to use skel for this so that if there are some changes in future in the LXQT code and they do not match default settings we can always be back to default settings by deleting user side changes. Similar to LXDE. LXQt provides a GUI applications to change its settings as well. While Openbox is the default window manager we have used in Meilix with  LXQt, you can specify a different window manager to use with LXQt via by editing ~/.config/lxqt/session.conf. To a window manager of choice. Change the following line: window_manager=openbox   We have used the Openbox for Meilix. To create a configuration for panel we can go to ~/.config/lxqt and edit the panel.conf file if it is not present we can create a file named panel.conf and add/edit the code. [panel1] hidable=true   GIF representing auto hide of panel. In order to configure more things like notification we can edit the ~/.config/lxqt/notification.conf. We can change things like the placement or the size of notification or the timeout of notification in this file. For eg: [General] __userfile__=true placement=top-left server_decides=1 spacing=6 width=295   We can now place all the configurations inside the skel folder so that every new user gets the same configurations we have made. Resources LXQT.org Website

Continue ReadingHow to customize LXQT for Meilix

Migration of LXDE Desktop of Meilix to LXQt

Meilix is originally based on LXDE and our task is to migrate Meilix desktop to LXQt. Originally LXQt is a fusion of LXDE and the Razor-Qt desktop. What is LXDE and LXQt ? Both are desktop environment. They are light weight with a beautiful GUI and a user-friendly touch. Older code to install a LXDE desktop in a Debian-based environment is (source): apt-get -q -y --purge install --no-install-recommends \ lxsession lightdm lightdm-gtk-greeter lxterminal gvfs-backends seahorse \ network-manager-gnome xorg dbus-x11 openbox ubiquity-frontend-gtk vlc \ xfce4-mixer gstreamer0.10-alsa pulseaudio pavucontrol lxpanel \ mozilla-plugin-vlc lubuntu-core jockey-gtk In the chroot environment, the maintainer has pick up the it’s dependencies and recommend packages and listed all packages which required to install a LXDE desktop. He keeps the size as small as possible. The maintainer had hand-picked only the required packages which can run the desktop. What we did: We tried with several approaches. Few worked and few did not. We removed all the packages related to desktop like gnome-games, gdm and gnome-language-en since we don’t want any sort of problem conflicts in the new desktop. We had also remove all the lines mentioned above which install LXDE. Then I simply typed the line: apt-get -q -y install lxqt This way we only reach to the CLI version of the OS, and we actually don’t know whether we actually have the desktop install or not. We tried to install lighdm their by sudo apt-get install xinit but that was also giving errors. We changes the line to: apt-get -q -y install xorg sddm lxqt And suddenly the same approach which brought to a black screen and that was a desktop and the window manager was openbox. Then we tried to add sddm.conf to get the desktop and realized that sddm starts plasma instead of LXQt. Then we added a config file for sddm to start up LXQt by default. This file is present in the location `/etc/sddm.conf` in the meilix-default-settings metapackage with the code as: [Autologin] User=hotelos Session=lxqt.desktop But due to a bug reported here, it still starts plasma instead of LXQt. So now I have to patch a script in the location /usr/share/initramfs-tools/scripts/casper-bottom/15autologin In last paragraph of the script it will first detect the presence of sddm, if that exists, it will assume that plasma will be default desktop and try to detect Lubuntu.desktop and QLubuntu.desktop . So, change plasma.desktop to lxqt.desktop. In the 15autologin changes line 84: if [ -f /root/usr/bin/sddm ]; then sddm_session=lxqt.desktop if [ -f /root/usr/share/xsessions/Lubuntu.desktop ]; then sddm_session=Lubuntu.desktop fi if [ -f /root/usr/share/xsessions/QLubuntu.desktop ]; then sddm_session=QLubuntu.desktop fi fi Here, sddm is made to configure it must use lxqt desktop. And this worked. Finally we get the LXQt desktop for Meilix. Since this script along with other scripts will be packed into a small filesystem called initramfs, therefore we have to write `update-initramfs -u ` after the installation of the meilix-default-settings package. I had made a table of the things that worked and that didn't. Things which do not work Things which work…

Continue ReadingMigration of LXDE Desktop of Meilix to LXQt