Há um relatório de bug sobre isso emhttps://bugs.launchpad.net/ubuntu/+source/nautilus/+bug/862662, embora ultimamente eu não tenha certeza se é realmente um bug do Nautilus ou não. Antes de instalar o Precise, testei-o instalando o PCManFM para ver se a abertura de arquivos mostra o cursor ocupado enquanto espera, mas o cursor ocupado ainda não aparece.
O cursor ocupado funciona tanto no Oneiric quanto no Precise Live USB, e antes de usar o Oneiric, também funcionava. Então instalei o Precise, deixando minha pasta pessoal sem formatação, mas o problema persiste. Também tentei remover as pastas e arquivos de configuração da minha pasta pessoal (na verdade, movê-lo para uma pasta para que possa ser restaurado), sair e fazer login novamente, mas o problema ainda persiste (no Oneiric, criei um novo usuário para ver se é um problema de configuração, mas também sem sucesso).
Por isso,considerando que o cursor ocupado funciona na Live Session, existe alguma maneira de fazer com que o cursor ocupado funcione normalmente no sistema instalado (como editar alguma configuração do sistema)?
Este é um problema comum ou ocorre apenas em hardware específico?
Responder1
Duas soluções possíveis para esse bug:
- Instale opacote "gdm". O instalador perguntará qual é o seu gerenciador de login preferido, escolha "gdm" em vez de "lightdm".
- Atenha-se ao lightdm, mas configure sua conta para que você não precise digitar uma senha para fazer login. Se sua pasta pessoal estiver criptografada, sem sorte, isso não é possível. Caso contrário, ative a opção “login automático” na seção “contas de usuário” do painel de configurações do sistema.
Observe que esta solução não é perfeita. Somente aplicativos GTK terão um cursor ocupado quando iniciados. Qt e outros, como VLC e Libreoffice, ainda não o farão.
Responder2
Muito rapidamente, outra solução possível:
VerificarIndex of /doc/startup-notification-devel-0.12/examplese pegue test-monitor.c
; modifique o arquivo para que corresponda:
...
//#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);
...
Construa com:
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
Então:
$ 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
... e teste:
./test-monitor | stdbuf -oL grep description | python osd.py
Em /etc/lightdm/lightdm.conf
adição session-setup-script=/path/to/mylightdm-startup.sh
; e em mylightdm-startup.sh`:
SND=/path/to/folder
($SND/test-monitor | stdbuf -oL grep description | python $SND/osd.py) &
Isso deve fornecer uma notificação simples de exibição na tela; outra possibilidade (mais complicada) é o uso deGhosd – exibição na tela (OSD) com transparência(tambémaqui).
Responder3
Este bug está presente se você usar o gerenciador de login lightdm. O bug é coordenado pelas especificações do lightdm, GDK3 e Xorg, e é detalhado mais emBug da barra de lançamento #1024482.
Para consertar isso, você tem que definir GDK_CORE_DEVICE_EVENTS
a variável ambiental, o que faz com que o GDK3 não use a chamada Xorg como culpa.
echo "GDK_CORE_DEVICE_EVENTS=true" | sudo tee ~lightdm/.pam_environment