Skip to content
codito edited this page Nov 12, 2011 · 1 revision

Instructions are borrowed from gnome-shell wiki and modified for our needs.

Step 1: Create a file ~/xenv.sh

Add following code snippet into it.

    gnome_session=$(pgrep gnome-session)
    eval export $(sed 's/\o000/\n/g;' < /proc/$gnome_session/environ | grep DISPLAY)
    eval export $(sed 's/\o000/\n/g;' < /proc/$gnome_session/environ | grep XAUTHORITY)
    eval export $(sed 's/\o000/\n/g;' < /proc/$gnome_session/environ | grep DBUS_SESSION_BUS_ADDRESS)

Step 2: Start gnome-shell outside gnome-session manager to capture debug info

Switch to a non-X11 console by pressing Control + Alt + F2. Login with your credentials. Note that you can return to X11 by pressing Control + Alt + F7 or F8. F1 to F8 cycles through other terminals.

Source the xenv.sh file by running . ~/xenv.sh. It prepares your non-X11 console to run gnome-shell.

Now start gnome-shell in the terminal using gnome-shell --replace. And then move to the X11 session by Control + Alt + F7 or F8.

Step 3: Capture debug info etc.

gnome-shell spews out tons of debug info on F2 terminal. Collate them into a text file and attach with bugs or email for more debugging. Multiple ways of copying the debug text - a) redirect error messages when you start gnome-shell, or b) if you use screen, you can copy buffer using Control + b followed by Escape.

You can also use this technique to run your patched version of gnome-shell (compiled from source) :)

Clone this wiki locally