NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

port-i386/51913: [LXDE]No menu bar, no lxpanel...etc.



>Number:         51913
>Category:       port-i386
>Synopsis:       [LXDE]No menu bar, no lxpanel...etc.
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    port-i386-maintainer
>State:          open
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Tue Jan 24 08:45:00 +0000 2017
>Originator:     ryo
>Release:        7.0.2
>Organization:
private
>Environment:
NetBSD dyna_netbsd.dyna_netbsd.org 7.0.2 NetBSD 7.0.2 (GENERIC.201610210724Z) i386
>Description:
There are case of no menu bar on every application software, or the main menu (lxpanel) may not be displayed.

Also, even if there is menu, there is case of become nothing in main menu except for run and logout , or nothing entry on Application Launcher Bar...etc.

>How-To-Repeat:
$ sudo pkgin in lxde
$ sudo cp /usr/pkg/share/examples/rc.d/dbus /etc/rc.d
$ sudo cp -r /usr/pkg/etc/xdg/openbox ~/.config
$ sudo cp -r /usr/pkg/etc/xdg/lxsession ~/.config
$ vi ~/.config/lxsession/LXDE/desktop.conf
...
[Session]
window_manager=openbox-lxde

panel/command=lxpanel
panel/session=LXDE
file_manager/command=pcmanfm
file_manager/session=LXDE
desktop_manager/command=filemanager
...
$ su
Password:
# echo "dbus=yes" >> /etc/rc.conf
# exit
$ sudo /etc/rc.d/dbus start
$ echo "ck-lancher-session dbus-launcher startlxde" >> ~/.xinitrc
$ startx
...


>Fix:
It is very difficult to explain, but I will try to it.

Anyway, perhaps the package that needs to be modified will lxde-common.

=======================
$ pkgin av | grep ^lx?*
lxappearance-0.6.2nb1 GTK+ theme switcher
lxde-1.0             Lxde
lxde-common-0.99.1   Default configuration settings and scripts for LXDE
lxde-icon-theme-0.5.1 LXDE icon theme
lxinput-0.3.5nb1     Simple graphical front end to configure keyboard and mouse
lxlauncher-0.2.5nb1  Program launcher for small screens
lxmenu-data-0.1.5    LXDE menu data
lxpanel-0.8.2nb2     Lightweight X11 desktop panel from LXDE
lxrandr-0.3.1nb1     Simple graphical front end to the xrandr extension
lxsession-0.5.2nb1   Session manager for LXDE
lxtask-0.1.7nb1      Lightweight desktop-independent task manager
lxterminal-0.2.0nb1  Desktop-independent VTE-based terminal emulator with tabs
$ 
=======================

I think that several default setting of LXDE seems to be missing.

In other words, compared to the past, after installation of LXDE, it has increasing the initial setting and non-intuitive, so it is becoming hard to set up.

Actually, this is not bug because there is solution by taking a certain procedure, but it will be inevitable that users get confused by this for make it function properly when install LXDE.

As there are more settings it is difficult to determine what is valid initial settings, but I think that at least three improvements will be necessary.

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
1. Add /usr/pkg/share to the environment variable "XDG_DATA_DIRS".
(
ex. with b shell:
export XDG_DATA_DIRS=${XDG_DATA_DIRS}:/usr/pkg/share
)
(If use gdm, it is required what add /usr/pkg/share/gdm to "XDG_DATA_DIRS" too.)

$ echo $XDG_DATA_DIRS
/usr/local/share:/usr/share:/usr/share/gdm:/var/lib/menu-xdg:/usr/local/share/:/usr/share/:/usr/pkg/share/gdm/:/usr/pkg/share/
$

2. Add /usr/pkg/etc/xdg to the environment variable "XDG_CONFIG_DIRS".
(
ex. with b shell:
export XDG_DATA_DIRS=${XDG_DATA_DIRS}:/usr/pkg/etc/xdg
)

3. Add @openbox-lxde to the /usr/pkg/etc/xdg/lxsession/LXDE/autostart.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

When it was building with pkgsrc-wip or when published of LXDE for NetBSD, no such every work was necessary.
(Although there were some other things except there.)

--------------------------------------------------------------------------------------------------------------------
[1. Add /usr/pkg/share to the environment variable "XDG_DATA_DIRS".]
--------------------------------------------------------------------------------------------------------------------
If it do not deal with the first one, the contents of the main menu and Application Launcher Bar will be empty.

As a measure to avoid this, there is also how to copy from /usr/pkg/share/applications to ~/.local/share/applications/(link/ln - s is not available) and how to copy from /usr/pkg/etc/xdg/menus to ~/.config.

But I think  no valid so because it have the following reasons.

Additional package software will automatically install place *.desktop files under ~/.local/share/applications/ for each user, and should be.

In other hand, packages such as "settings" and "system tools" should also be automatically deployed to all users, perhaps.
(For NetBSD It become so if add /usr/pkg/share in XDG_CONFIG_DIRS. as same as before.)
(Also Linux such as Debian, Fedora...etc. is not needed too set it by user because set default, maybe.)

--------------------------------------------------------------------------------------------------------------------
[2. Add /usr/pkg/etc/xdg to the environment variable "XDG_CONFIG_DIRS".]
--------------------------------------------------------------------------------------------------------------------
In the second case, it should not have to do so.

It have working correctly already LXDE on NetBSD machine, but not need this setting.

Default value is seem to /etc/xdg if not set for XDG_CONFIG_DIRS.

=======================
$ echo $XDG_CONFIG_DIRS
/etc/xdg
$ 
=======================

Therefore, although unfortunatly I don't know that method, this should probably be handled in other ways.

--------------------------------------------------------------------------------------------------------------------
[3. Add @openbox-lxde to the /usr/pkg/etc/xdg/lxsession/LXDE/autostart.]
--------------------------------------------------------------------------------------------------------------------
In the third case, it should not have to do so too.

This should be just only enough to set [Session] with window_manager=openbox-lxde in ~/.config/lxsession/LXDE/desktop.conf.
(Additional postings are also required as described below.)

In this time, somehow, I could not do it, and a third term on the above was needed.

Therefore, this should probably be handled in other ways (methods other than /usr/pkg/etc/xdg/lxsession/LXDE/autostart,~/.config/autostart,~/.config/lxsession/LXDE/autostart, but unfortunatly I don't know that method.

The reason for I'm thinking so is that machines on which LXDE is already functioning normally do not depend at least on these autostart files.

Therefore, if these of three point are not initial set up, it will be inevitable that the user gets confused.

Also, Not only NetBSD, LXDE is also one of the packages that requires adding configuration files after installation(ex,copy other path or file).

=======================
*cp -r /usr/pkg/etc/xdg/openbox ~/.config
*cp -r /usr/pkg/etc/xdg/lxsession ~/.config
=======================

It has only ~/.config/openbox/ directory, but there is no others.

Additionally, need to add following settings since lxsession 0.4.6 as posted on Arch Wiki(There is Japanese,why not English page.).

Although I'm not evaluating for each row, certainly need to these rows.

Otherwise it will do not boot LXDE.

=======================
$ cat ~/.config/lxsession/LXDE/desktop.conf
...
[Session]
window_manager=openbox-lxde

panel/command=lxpanel
panel/session=LXDE
file_manager/command=pcmanfm
file_manager/session=LXDE
desktop_manager/command=filemanager
...
$
=======================

Also,  in case of using startx+~/.xinitrc it has to "ck-launch-session dbus-launch startlxde" rather than "startlxde".

Otherwise it show popup error message say "GDBus.Error:org.freedesktop.PolicyKit1.Error.Failed...".

Of course because LXDE require dbus daemon, although we have to copy from /usr/pkg/share/examples/rc.d/dbus to /etc/rc.d, add "dbus=yes" in /etc/rc.conf, and have to  /etc/rc.d/dbus start, this only setting is not enough.

=======================
$ cat ~/.xinitrc
...
ck-launch-session dbus-launch startlxde
...
$ startx
...
=======================

I think that would be better to post Wiki (ex,wiki.netbsd.org) otherwise it should be done automatically at the time of installation.

Regarding the first three points, I think that it is better to modify them.

However for remaining point are in order to keep less influence by each package it may be to better to post on wiki.

There may be some missing information, but thank you.



Home | Main Index | Thread Index | Old Index