>Pierre Labastie wrote:
>> On 20/02/2018 19:39, Bruce Dubbs wrote:
>>> Pierre Labastie wrote:
>>>> On 20/02/2018 12:47, Pierre Labastie wrote:
>>>>> On 31/01/2018 10:24, hykw...@sina.com wrote:
>>>>>> Version: systemd edition - Version 2018-01-30
>>>>>>    [...]
>>>>>> - EXO is required if Xfwm is present. (Please note that we can build Xfwm
>>>>>> without EXO package while we can use Xfwm with lxqt)
>>>>>>
>>>>>
>>>>> Actually, there is an advice at the beginning of the Xfce Desktop chapter:
>>>>> "Build Xfce core packages in the order presented in the book for the 
>>>>> easiest
>>>>> resolution of dependencies."
>>>>> And EXO is presented before xfwm in this chapter.
>>>>>
>>>>
>>>> Actually, it is lightdm-gtk-greeter, which requires EXO (exactly, 
>>>> "configure"
>>>> tests for exo-csource and errors out if not found). But actually, 
>>>> exo-csource
>>>> is only needed in maintainer mode, which is disabled by default. So 
>>>> configure
>>>> can be fooled with "HAVE_EXO_CSOURCE=yes ./configure ...". NB: CFLAGS 
>>>> should
>>>> include -Wno-error=deprecated-declarations.
>>>>
>>>>> Same for itstool in lightdm. It is not used during a normal build, only 
>>>>> tested
>>>> by configure. configure can be fooled with "ITSTOOL=/bin/true ./configure 
>>>> ..."
>>>>
>>>> To finish with lightdm, there is a PATH problem: if the DE is installed in
>>>> /opt, (with .desktop file in /usr), it seems the PATH is not set correctly,
>>>> and login fails. I guess "source /etc/profile" should be added somewhere...
>>>> Not found yet
>>>
>>> In /etc/lightdm/Xsession, I have:
>>>
>>>
>>> echo "Running X session wrapper"
>>>
>>> # Load profile
>>> for file in "/etc/profile" "$HOME/.bash_profile"; do
>>>      if [ -f "$file" ]; then
>>>          echo "Loading profile from $file";
>>>          . "$file"
>>>      fi
>>> done
>>>
>>> I am not sure where I figured out the Xsession.  It is not installed by
>>> default.  I am attaching what I have.
>>>
>>>    -- Bruce
>> 
>> I found that adding a line ". /etc/profile" in /usr/bin/lightdm-session is
>> enough, at least for starting LXQt.
>> 
>> I suggest to propose that in the book. There are two ways to do that:
>> a sed (but it looks ugly), or a full cat. I'll commit the sed (because I've
>> tested it), but feel free to modify.
>I'll test it but I did make some minor changes.  Thanks for the fixes.
>   -- Bruce

Just to share my experience:

System: BLFS (Systemd version)
QT5 installed path: /opt/qt5
LXQT installed path: /opt/lxqt

1. Fix the missing file "lxqt.desktop"

In my case, I cannot execute the instruction "cp -v 
{$LXQT_PREFIX,/usr}/share/xsessions/lxqt.desktop" sucessfully because the 
target directory is missing. So, I have to execute the following commands (as 
root):
mkdir -p /usr/share/xessions
cp -v {$LXQT_PREFIX,/usr}/share/xsessions/lxqt.desktop

I have to make usre lxqt.desktop should be located in /usr/share/xessions 
because "lightdm" will use it for session creation.

2. Modify lxqt.desktop

Since the intallation path of LXQT is "/opt" rather than "/usr", I have to 
modify lxqt.destop so that "lightdm" can find the command:
"Exec=startlxqt" --> "Exec=/opt/lxqt/bin/startlxqt"

3. Modify "startlxqt"

3.1 After the function "contains", add the following line in order to setup the 
environment variables (I guess we can skip it if the installation path is 
"/usr"):

source /etc/profile

3.2 Before the line "exec lxqt-session", add the following lines:

if [ -d /etc/X11/xinit/xinitrc.d ]; then
 for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
  [ -x "$f" ] && . "$f"
 done
 unset f
fi

killall kscreen_backend_launcher
/opt/lxqt/lib/libexec/kf5/kscreen_backend_launcher &

For the fist part, please read this reference for more information. 
(https://github.com/lxde/lxqt/wiki/ConfigLaunch)
For the second part, it try to fix the starting problem of 
"lxqt-config-monitor". 
In my case, although "kscreen_backend_launcher" is started sucessfully and I 
can find the realted D-Bus setting by a Python script 
(https://unix.stackexchange.com/questions/46301/a-list-of-available-dbus-services),
 "lxqt-config-monitor" cannot connect to "KScreen". I have no idea about the 
cause but I find that I can restart "kscreen_backend_launcher" to fix this 
problem.

Then, I can start lightdm for testing: systemctl start lightdm
-- 
http://lists.linuxfromscratch.org/listinfo/blfs-dev
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Reply via email to