¿Cómo recuperar el cursor ocupado perdido al abrir un archivo/aplicación?

¿Cómo recuperar el cursor ocupado perdido al abrir un archivo/aplicación?

Hay un informe de error sobre esto enhttps://bugs.launchpad.net/ubuntu/+source/nautilus/+bug/862662, aunque últimamente tengo dudas sobre si realmente se trata de un error de Nautilus o no. Antes de instalar Precise, lo probé instalando PCManFM para ver si al abrir archivos muestra un cursor ocupado mientras espera, pero el cursor ocupado aún no aparece.

El cursor ocupado funciona tanto en Oneiric como en Precise Live USB, y la vez anterior que usé Oneiric, también funcionó. Luego instalé Precise y dejé mi carpeta de inicio sin formato, pero el problema persiste. También intenté eliminar las carpetas y archivos de configuración en mi carpeta de inicio (en realidad, moverlos a una carpeta para poder restaurarlos), cerrar sesión y volver a iniciar sesión, pero el problema sigue ahí (en Oneiric, creé una nueva usuario para ver si es un problema de configuración, aunque tampoco sirvió de nada).

De este modo,considerando que el cursor ocupado funciona en la Sesión en Vivo, ¿hay alguna forma de hacer que el cursor ocupado funcione normalmente en el sistema instalado (como editar alguna configuración del sistema)?

¿Es este un problema común o solo ocurre en un hardware específico?

Respuesta1

Dos posibles soluciones a este error:

  • Instala elpaquete "gdm". El instalador le preguntará cuál es su administrador de inicio de sesión preferido; elija "gdm" en lugar de "lightdm".
  • Cíñete a lightdm, pero configura tu cuenta para no tener que escribir una contraseña para iniciar sesión. Si tu carpeta de inicio está cifrada, no hay suerte, eso no es posible. De lo contrario, active la opción "inicio de sesión automático" en la sección "cuentas de usuario" del panel de configuración del sistema.

Tenga en cuenta que esta solución no es perfecta. Sólo las aplicaciones GTK tendrán el cursor ocupado cuando se inicien. Qt y otros, como VLC y Libreoffice, todavía no lo hacen.

Respuesta2

Muy rápidamente, otra posible solución:

ControlarÍndice de /doc/startup-notification-devel-0.12/examplesy obten test-monitor.c; modifique el archivo para que coincida:

...
//#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);
...

Construir con:

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

Entonces:

$ 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

... y prueba:

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

Además ;/etc/lightdm/lightdm.confsession-setup-script=/path/to/mylightdm-startup.shy en mylightdm-startup.sh`:

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

Esto debería brindarle una notificación simple en pantalla; Otra posibilidad (más complicada) es el uso deGhosd: visualización en pantalla (OSD) con transparencia(tambiénaquí).

Respuesta3

Este error está presente si utiliza el administrador de inicio de sesión lightdm. El error está coordinado por las especificaciones de lightdm, GDK3 y Xorg, y se detalla más enError de la plataforma de lanzamiento n.º 1024482.

Para solucionarlo, debe configurar GDK_CORE_DEVICE_EVENTSuna variable ambiental, lo que hace que GDK3 no use la llamada Xorg por error.

echo "GDK_CORE_DEVICE_EVENTS=true" | sudo tee ~lightdm/.pam_environment

información relacionada