web-dev-qa-db-fra.com

mplayer ne désactive pas l'économiseur d'écran

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?

6
psychok7

L'option -p n'existe plus.

C'est un bug dans gnome-screensaver. http://lists.mplayerhq.hu/pipermail/mplayer-users/2012-November/085566.html

4
user107507

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.

3
AkhIL

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.

1
sup

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.

0
ko-dos