LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (http://www.linuxquestions.org/questions/slackware-14/)
-   -   Obmenu kills x (http://www.linuxquestions.org/questions/slackware-14/obmenu-kills-x-4175439680/)

Lennie 12-02-2012 08:03 AM

Obmenu kills x
 
I have installed Openbox and Obmenu from slackbuild.org. Every time I save changes I've done in Obmenu, x is killed and I'm back at console. The changes are saved. I use startx to start openbox-session, and I changed in .xinitrc to
Code:

exec ck-launch-session dbus-launch --exit-with-session /usr/bin/openbox-session &>>xlog
I checked that log after logging in, and then directly i did some change in Obmenu and saved the changes, and of course was thrown back to console again. Then I changed .xinitrc back and deleted '&>>xlog', so I have the original log, but it doesn't say anything. This is what was added when I was thrown out by Obmenu (The errors about xscreensaver are always there.):

Code:

xinit: connection to X server lost

waiting for X server to shut down xscreensaver: 14:13:20: SIGHUP received: restarting...
xscreensaver: 14:13:20: initial effective uid/gid was lennie/shadow (1000/43)
xscreensaver: 14:13:20: running as lennie/lennie (1000/1000)

XIO:  fatal IO error 11 (Resource temporarily unavailable) on X server ":0"
      after 1475 requests (1475 known processed) with 3 events remaining.
real transparency off.... depth: 24
xRandr: Found crtc's: 2
xRandr: Linking output HDMI1 with crtc 0
icon with depth: 24
icon with depth: 24
XIO:  fatal IO error 4 (Interrupted system call) on X server ":0"
      after 44767 requests (44767 known processed) with 3 events remaining.
xscreensaver: 14:13:20: Can't open display: :0
xscreensaver: 14:13:20: initial effective uid/gid was lennie/shadow (1000/43)
xscreensaver: 14:13:20: running as lennie/lennie (1000/1000)

xscreensaver: 14:13:20: Errors at startup are usually authorization problems.
              But you're not logging in as root (good!) so something
              else must be wrong.  Did you read the manual and the FAQ?

              http://www.jwz.org/xscreensaver/faq.html
              http://www.jwz.org/xscreensaver/man.html

Server terminated successfully (0). Closing log file.

I also tried to start Obmenu from terminal with
Code:

obmenu &>>obmenulog
Obmenulog was created but was empty.

Code:

$ lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation Core Processor Integrated Graphics Controller (rev 18)

Google also doesn't seem to know anything about this...

business_kid 12-02-2012 01:23 PM

Run
Quote:

ldd /path/to/binary |grep found
on all the binaries you are running and see what is going on. Things dropping out themselves is OK; A crash killing other programs is definitely not OK.
Quote:

IO: fatal IO error 4 (Interrupted system call) on X server ":0"
That looks like the odd one. I have slackware, and I get all the rest - all that drivel about xscreensaver. Google for that error +obmenu

Lennie 12-03-2012 09:08 AM

I find this really strange. I don't think the problem is obmenu. It's just a few python script, and they are exactly the same as in Arch, where obmenu works as it should.

I'm quite sure that the moment x (or openbox) crashes is when obmenu has saved the changes and runs reconfigure. I can manually change in menu.xml and then run reconfigure from the menu without it crash.

I'm out of ideas... Maybe I should just recompile openbox and see if that helps. (I had the dependencies before I installed openbox.)

Lennie 12-03-2012 10:10 AM

So finally I have solved this problem - as an extra bonus by getting rid of some autostart-bloat...

What I did was copy /usr/bin/openbox-session and /usr/bin/openbox-autostart to ~/.bin (which is first in my path). I changed them like this:

openbox-session
Code:

#!/bin/sh

if test -n "$1"; then
    echo "Syntax: openbox-session"
    echo
    echo "See the openbox-session(1) manpage for help."
  exit
fi


# Run Openbox, and have it run the autostart stuff
exec /usr/bin/openbox --startup "$HOME/.bin/openbox-autostart OPENBOX" "$@"

openbox-autostart
Code:

#!/bin/sh

sh $HOME/.config/openbox/autostart

I did this because I didn't want all bloat in /etc/xdg/autostart to launch, and in ~/.config/autostart I have programs that I only want to autostart in Xfce and not in Openbox. And now, as an extra bonus, obmenu behaves as it should. I tried to change back, and immedeately obmenu made X crash. I don't know which autostarted program was causing this, but most important thing is that it works now. :)

Lennie 12-19-2012 01:03 PM

I open this thread again because this is a really strange mysterium, and I also think the solution I found earlier caused other crashes... The day after I thought this was solved, I started to get strange freezes, where everything except the mouse was freezing. I could right-click the desktop to get the menu and start a terminal. If I was fast I could run 'sudo reboot' before that terminal also froze, and the system rebooted. Changing the script to start openbox was the last change I did before this started. (But changing back did not stop the freezes, so maybe it is not related at all...)

I finally had to restore a backup, and now I'm struggling with Obmenu again. I restored the backup to another partition, so I have the original install left. Right now I'm on the old install, and I have tried to change back to start openbox from /usr/bin/openbox-session. In .xinitrc I have this line
Code:

exec ck-launch-session dbus-launch --exit-with-session /usr/bin/openbox-session
If I run startx with this line in .xinitrc, obmenu kills openbox every time I save changes.

I copied the script openbox-session from /usr/bin to my /home, and changed .xinitrc to use it. I didn't change anything in it. And now Obmenu works as it should.

I have tried it several times, and it really is so. If I use /usr/bin/openbox-session, then Obmenu cause openbox to crash, but if I use the exact same script, copied to somewhere in my /home (it doesn't matter if it is a directory I have added to my path or not), then no crashes from Obmenu.

What's the difference, when the script is the exact same???

Code:

#!/bin/sh

if test -n "$1"; then
    echo "Syntax: openbox-session"
    echo
    echo "See the openbox-session(1) manpage for help."
  exit
fi

# Clean up after GDM
xprop -root -remove _NET_NUMBER_OF_DESKTOPS \
      -remove _NET_DESKTOP_NAMES \
      -remove _NET_CURRENT_DESKTOP 2> /dev/null

# Set up the environment
A="/etc/xdg/openbox/environment"
test -r $A && . $A
A="${XDG_CONFIG_HOME:-"$HOME/.config"}/openbox/environment"
test -r $A && . $A

# Run Openbox, and have it run the autostart stuff
exec /usr/bin/openbox --startup "/usr/libexec/openbox-autostart OPENBOX" "$@"


business_kid 12-20-2012 04:22 AM

I would start by eliminating dependencies. Something like this
Code:

cd /usr/bin
ldd * |grep found |less

& maybe repeat in /usr/lib64. All you are really worried about is the lib(s) that appear on the right, and you need to install them. If your distro uses /usr/X11R6/bin also repeat there.

Then you probably have dud code in something. This is sometimes caused by a disk error, a lost sector or something that e2fsck corrects.

Lennie 12-20-2012 11:22 AM

This is what I get:
Code:

root@slack:/usr/bin# ldd * | grep found | more
ldd: ./X11: not regular file
./spotify: /lib64/libcrypto.so.0.9.8: no version information available (required by ./spotify)
./spotify: /lib64/libssl.so.0.9.8: no version information available (required by ./spotify)
ldd: ./svn-tools: not regular file
        libkdecore.so.5 => not found
        libkdecorations.so.4 => not found
        libkdeui.so.5 => not found
        libplasma.so.3 => not found
root@slack:/usr/bin#

It looks like kde-stuff. I didn't install kde. How can I find out which packages wants these libraries, and what packages they are in, so that I can either uninstall them if I don't need them or install the missing dependenies?

But I don't think this is related to the problem for this thread. Keep in mind Obmenu is just a few pythonscript. I recomplied Openbox, but it didn't make any difference.

business_kid 12-20-2012 01:19 PM

I'd guess kdelibs if you have a kde package without kde. After that you're on your own. kde core & kde graphics are also good guesses, as is kde desktop. If it's Slackware, there's a file list with each installed package.Try a few of the obvious ones with
cd /tmp/somedir
explodepkg /path/to/package
find -name '

If obmenu is python based try opening an xterm and running
python /path/to/obmenu > ~/bugfind.txt 2>&1

and see if you get any interesting errors.

Lennie 01-28-2013 12:10 PM

I think I have found the cause of this problem, even if I still think it's strange. In .xinitrc, if I have the full path "/usr/bin/openbox-session" then obmenu causes X to crash, but if I only have "openbox-session" (exec ck-launch-session dbus-launch openbox-session) then it works.'which openbox-session' gives '/usr/bin/openbox-session'. It behaves the same in Salix, which has never crashed for me, but when I changed to "/usr/bin/openbox-session" it also crashed.

I think I can finally mark this thread as solved, even if I really don't understand why it can't handle absolute path to openbox-session...


All times are GMT -5. The time now is 06:56 PM.