Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

There is a bug report about this in https://bugs.launchpad.net/ubuntu/+source/nautilus/+bug/862662 , although lately I become unsure whether it really is Nautilus bug or not. Before installing Precise, I tested it by installing PCManFM to see whether opening files from it shows busy cursor while waiting, but the busy cursor still doesn't show up.

The busy cursor works in both Oneiric and Precise Live USB, and in the earlier time I use Oneiric, it also worked. Then, I installed Precise, leaving my home folder unformatted, but the problem persists. I also tried to remove the configuration folders and files in my home folder (actually move it to a folder so that it can be restored), log out and log back in, but the problem is still there (In Oneiric, I created a new user to see if it is a configuration problem, though, to no avail either).

Thus, considering that the busy cursor works in the Live Session, are there any way to get the busy cursor to works normally in the installed system (such as editing some system configuration)?

Is this a common problem or only occurs on specific hardware?

share|improve this question

3 Answers 3

up vote 4 down vote accepted

Two possible workarounds to this bug:

  • Install the "gdm" package. The installer will ask what is your preferred login manager, choose "gdm" instead of "lightdm".
  • Stick to lightdm, but configure your account so as you don't have to type a password to log in. If your home folder is encrypted, no luck, that is not possible. If not, activate the "automatic login" option under the "user accounts" section of the system settings panel.

Note that this solution is not perfect. Only GTK applications will have a busy cursor when launched. Qt and other ones, like VLC and Libreoffice, still won't.

share|improve this answer

Just very quickly, another possible workaround:

Check Index of /doc/startup-notification-devel-0.12/examples and get test-monitor.c; modify the file so it matches:

...
//#include <config.h>
#ifndef SN_API_NOT_YET_FROZEN
#define SN_API_NOT_YET_FROZEN
#endif
#include <libsn/sn.h>
...
int
main (int argc, char **argv)
{
  Display *xdisplay;
  SnDisplay *display;
  SnMonitorContext *context;

  setbuf (stdout, NULL);

  xdisplay = XOpenDisplay (NULL);
...

Build with:

sudo apt-get install libstartup-notification0-dev
gcc -I/usr/include/startup-notification-1.0 test-monitor.c -o test-monitor -lX11 -lstartup-notification-1

Then:

$ sudo apt-get install python-osd
$ cat > osd.py <<"EOF" 
import pyosd # XOSD
import time
import sys
import os

# default_font="-*-helvetica-medium-r-normal-*-*-360-*-*-p-*-*-*"
# xlsfonts | less # to find fonts, say
# -misc-fixed-bold-r-normal--0-0-75-75-c-0-iso10646-1:
tfont="-*-fixed-bold-r-normal--*-*-100-*-c-*-*-*"
osd = pyosd.osd(font=tfont, colour='#FF0000', lines=3)
osd.set_align(pyosd.ALIGN_CENTER)
osd.set_pos(pyosd.POS_MID)
display = osd.display
osd.set_timeout(1)
# display will last as long the python program hasn't exited!
#display("Hello") 
#display(50, type=pyosd.TYPE_SLIDER, line=0) 

display("Hello from pyosd/XOSD", line=1)


# disable stdin buffering (ok on Python 2.7)
ttfo = os.fdopen(sys.stdin.fileno(), 'r', 0)

while 1:
  try:
    inline = ttfo.readline().rstrip()
  except KeyboardInterrupt:
    break
  if not inline:
    break
  print(inline)
  for ix in range(0,50):
    display(ix, type=pyosd.TYPE_PERCENT, line=0) 
    display(inline, line=1)
    display(ix, type=pyosd.TYPE_PERCENT, line=2) 
    time.sleep(0.02)
  time.sleep(1)
EOF

... and test:

./test-monitor | stdbuf -oL grep description | python osd.py

In /etc/lightdm/lightdm.conf add session-setup-script=/path/to/mylightdm-startup.sh; and in mylightdm-startup.sh`:

SND=/path/to/folder
($SND/test-monitor | stdbuf -oL grep description | python $SND/osd.py) &

This should give you a simple On-Screen Display notification ; another (more complicated) possibility is use of Ghosd -- on-screen display (OSD) with transparency (also here).

share|improve this answer

This bug is present if you use lightdm login manager. The bug is coorchestrated by lightdm, GDK3, and Xorg's specfication, and it is detailed more in Launchpad bug #1024482.

To fix it, you have to set GDK_CORE_DEVICE_EVENTS environmental variable, which makes GDK3 not use the Xorg call at fault.

echo "GDK_CORE_DEVICE_EVENTS=true" | sudo tee ~lightdm/.pam_environment
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.