j'ai donc mis à niveau vers Ubuntu 12.10 et j'ai installé smplayer à partir des référentiels. Le fait est que lorsque je joue un film (même en plein écran), l'économiseur d'écran apparaît. Je dois désactiver l'économiseur d'écran activé dans smplayer mais cela ne semble pas fonctionner
apt-cache policy mplayer
mplayer:
Installed: 2:1.0~rc4.dfsg1+svn34540-1ubuntu2
Candidate: 2:1.0~rc4.dfsg1+svn34540-1ubuntu2
Version table:
*** 2:1.0~rc4.dfsg1+svn34540-1ubuntu2 0
500 http://pt.archive.ubuntu.com/ubuntu/ quantal/universe AMD64 Packages
100 /var/lib/dpkg/status
apt-cache policy gnome-screensaver
gnome-screensaver:
Installed: 3.6.0-0ubuntu2
Candidate: 3.6.0-0ubuntu2
Version table:
*** 3.6.0-0ubuntu2 0
500 http://pt.archive.ubuntu.com/ubuntu/ quantal-updates/main AMD64 Packages
100 /var/lib/dpkg/status
3.6.0-0ubuntu1 0
500 http://pt.archive.ubuntu.com/ubuntu/ quantal/main AMD64 Packages
Des idées?
L'option -p n'existe plus.
C'est un bug dans gnome-screensaver. http://lists.mplayerhq.hu/pipermail/mplayer-users/2012-November/085566.html
installez d'abord xdotool Puis ajoutez-le à la ligne de configuration ou de commande de mplayer
heartbeat-cmd="xdotool key shift"
Cela vous permettra d’appuyer sur les touches Maj et de les relâcher comme code ci-dessus mais en utilisant xdotool.
Je ne sais pas si smplayer lit ~ .mplayer/config, mais vous devez
Sudo apt-get install libxtst-dev
(peut-être plus, j'avais déjà installé des paquets de développement)
collez cela dans un fichier appelé sendXshift.c
/* program to send shift-down, shift-up through X test extension to indicate that the X session isn't idle */
#include <stdio.h>
#include <stdlib.h>
#include <X11/Xlib.h>
#include <X11/extensions/Xext.h>
#include <X11/extensions/XTest.h>
int main(){
Display *dpy;
Status stat;
int i1,i2,i3,i4;
Bool stat1;`
dpy = XOpenDisplay(NULL);
if (dpy == NULL){
printf("open display failed\n");
exit(1);
}
stat1 = XTestQueryExtension(dpy,&i1,&i2,&i3,&i4);
if (stat1 == 0){
printf("Xtest not supported\n");
XCloseDisplay(dpy);
exit(1);
}
// shift down:
XTestFakeKeyEvent(dpy,0x32,True,CurrentTime);
// shift up:
XTestFakeKeyEvent(dpy,0x32,False,CurrentTime);
XCloseDisplay(dpy);
}
Et compilez avec cc -o sendXshift sendXshift.c -lX11 -lXtst
, rendez-le exécutable puis mettez heartbeat-cmd="/PATH/TO/COMPILED/FILE/sendXshift"
.
Cela devrait faire jusqu'à ce que/if http://bugzilla.mplayerhq.hu/show_bug.cgi?id=1887 soit résolu.
Mon hypothèse est la suivante: gnome-screensaver a supprimé l’argument "poke" .
Mplayer tente cependant de percer l’économiseur d’écran via
heartbeat-cmd="gnome-screensaver-command -p"
et échoue.
Je ne sais pas comment procéder, en réglant la commande Hearbeat sur
heartbeat-cmd="gnome-screensaver-command --exit"
désactiverait l'économiseur d'écran pour toute la session.
Il peut être préférable d’installer xscreensaver à la place. Ou utilisez DBUS pour empêcher l'économiseur d'écran. Pour gnome-shell, il existe des extensions permettant de suspendre l'économiseur d'écran manuellement.