Fórum Debian

Versão Completa: gnome-session-save
Você está atualmente visualizando uma versão simplificada do conteúdo. Visualizar a versão completa com formatação.
Viva,

Ao tentar executar o comando gnome-session-save dá o seguinte erro:
Código:
$ gnome-session-save --logout-dialog

** (gnome-session-save:4169): WARNING **: Failed to call logout: The name org.gnome.SessionManager was not provided by any .service files
ou
Código:
$ gnome-session-save --shutdown-dialog

** (gnome-session-save:4170): WARNING **: Failed to call shutdown: The name org.gnome.SessionManager was not provided by any .service files

Já procurei no google o que poderia ser, encontrei alguém a dizer que poderia ser problemas de não ter o dbus daemon a correr, mas tenho:
Código:
$ ps aux | grep dbus
101       1434  0.0  0.0  24128  1800 ?        Ss   10:37   0:01 /usr/bin/dbus-daemon --system
zecarlos  2292  0.0  0.0  11876   428 ?        Ss   10:37   0:00 /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-session openbox-session
zecarlos  2295  0.0  0.0  26104   800 ?        S    10:37   0:00 /usr/bin/dbus-launch --exit-with-session openbox-session
zecarlos  2296  0.0  0.0  23664  1264 ?        Ss   10:37   0:00 /usr/bin/dbus-daemon --fork --print-pid 5 --print-address 7 --session
zecarlos  4193  0.0  0.0   7548   876 pts/0    S+   11:11   0:00 grep dbus

O que poderá ser? Hein

cumps Piscada
Se for mesmo problema de dbus, tenta adicionar essa linha aqui ao seu ~/.xinitrc antes da chamada pelo ambiente gráfico:

Código:
eval "$(dbus-launch --sh-syntax --exit-with-session)"
Viva,

(23/09/2011 23:54)renatov Escreveu: [ -> ]Se for mesmo problema de dbus, tenta adicionar essa linha aqui ao seu ~/.xinitrc antes da chamada pelo ambiente gráfico:

Código:
eval "$(dbus-launch --sh-syntax --exit-with-session)"

Não tenho o ficheiro ~/.xinitrc .... Hein Hein Hein

cumps Piscada
Não tenho o .xinitrc na minha home, mas existe um .xinitrc em /etc/X11/xinit/
Código:
$cat /etc/X11/xinit/xinitrc

#!/bin/sh

# /etc/X11/xinit/xinitrc
#
# global xinitrc file, used by all X sessions started by xinit (startx)

# invoke global X session script
. /etc/X11/Xsession

e o ficheiro /etc/X11/Xsession:
Código:
$cat /etc/X11/Xsession

#!/bin/sh
#
# /etc/X11/Xsession
#
# global Xsession file -- used by display managers and xinit (startx)

# $Id: Xsession 967 2005-12-27 07:20:55Z dnusinow $

set -e

PROGNAME=Xsession

message () {
  # pretty-print messages of arbitrary length; use xmessage if it
  # is available and $DISPLAY is set
  MESSAGE="$PROGNAME: $*"
  echo "$MESSAGE" | fold -s -w ${COLUMNS:-80} >&2
  if [ -n "$DISPLAY" ] && which xmessage > /dev/null 2>&1; then
    echo "$MESSAGE" | fold -s -w ${COLUMNS:-80} | xmessage -center -file -
  fi
}

message_nonl () {
  # pretty-print messages of arbitrary length (no trailing newline); use
  # xmessage if it is available and $DISPLAY is set
  MESSAGE="$PROGNAME: $*"
  echo -n "$MESSAGE" | fold -s -w ${COLUMNS:-80} >&2;
  if [ -n "$DISPLAY" ] && which xmessage > /dev/null 2>&1; then
    echo -n "$MESSAGE" | fold -s -w ${COLUMNS:-80} | xmessage -center -file -
  fi
}

errormsg () {
  # exit script with error
  message "$*"
  exit 1
}

internal_errormsg () {
  # exit script with error; essentially a "THIS SHOULD NEVER HAPPEN" message
  # One big call to message() for the sake of xmessage; if we had two then
  # the user would have dismissed the error we want reported before seeing the
  # request to report it.
  errormsg "$*" \
           "Please report the installed version of the \"x11-common\"" \
           "package and the complete text of this error message to" \
           "<[email protected]>."
}

# initialize variables for use by all session scripts

OPTIONFILE=/etc/X11/Xsession.options

SYSRESOURCES=/etc/X11/Xresources
USRRESOURCES=$HOME/.Xresources

SYSSESSIONDIR=/etc/X11/Xsession.d
USERXSESSION=$HOME/.xsession
USERXSESSIONRC=$HOME/.xsessionrc
ALTUSERXSESSION=$HOME/.Xsession
ERRFILE=$HOME/.xsession-errors

# attempt to create an error file; abort if we cannot
if (umask 077 && touch "$ERRFILE") 2> /dev/null && [ -w "$ERRFILE" ] &&
  [ ! -L "$ERRFILE" ]; then
  chmod 600 "$ERRFILE"
elif ERRFILE=$(tempfile 2> /dev/null); then
  if ! ln -sf "$ERRFILE" "${TMPDIR:=/tmp}/xsession-$USER"; then
    message "warning: unable to symlink \"$TMPDIR/xsession-$USER\" to" \
             "\"$ERRFILE\"; look for session log/errors in" \
             "\"$TMPDIR/xsession-$USER\"."
  fi
else
  errormsg "unable to create X session log/error file; aborting."
fi

exec >>"$ERRFILE" 2>&1

echo "$PROGNAME: X session started for $LOGNAME at $(date)"

# sanity check; is our session script directory present?
if [ ! -d "$SYSSESSIONDIR" ]; then
  errormsg "no \"$SYSSESSIONDIR\" directory found; aborting."
fi

# Attempt to create a file of non-zero length in /tmp; a full filesystem can
# cause mysterious X session failures.  We do not use touch, :, or test -w
# because they won't actually create a file with contents.  We also let standard
# error from tempfile and echo go to the error file to aid the user in
# determining what went wrong.
WRITE_TEST=$(tempfile)
if ! echo "*" >>"$WRITE_TEST"; then
  message "warning: unable to write to ${WRITE_TEST%/*}; X session may exit" \
          "with an error"
fi
rm -f "$WRITE_TEST"

# use run-parts to source every file in the session directory; we source
# instead of executing so that the variables and functions defined above
# are available to the scripts, and so that they can pass variables to each
# other
SESSIONFILES=$(run-parts --list $SYSSESSIONDIR)
if [ -n "$SESSIONFILES" ]; then
  set +e
  for SESSIONFILE in $SESSIONFILES; do
    . $SESSIONFILE
  done
  set -e
fi

exit 0

# vim:set ai et sts=2 sw=2 tw=80:

onde devo colocar:
Código:
eval "$(dbus-launch --sh-syntax --exit-with-session)"
Hein
Coloca em ~/.xinitrc mesmo, se ele não existir, pode criar o arquivo.
(24/09/2011 22:10)renatov Escreveu: [ -> ]Coloca em ~/.xinitrc mesmo, se ele não existir, pode criar o arquivo.

Continua a dar o mesmo erro! Hein
Quando eu tive problema com o Dbus Daemon, essa entrada no ~/.xinitrc resolveu pra mim. Talvez o seu display manager não esteja carregando o .xinitrc para inicializar o ambiente gráfico. Você usa gnome com gdm3?

Tente fazer um teste, não inicialize o gnome pelo gdm, mas sim indo para um tty vazio (ex: Ctrl+Alt+F1) e digitando "$ startx" após deixar seu ~/.xinitrc assim:

Código:
#!/bin/bash
eval "$(dbus-launch --sh-syntax --exit-with-session)"
exec gnome-session
(25/09/2011 12:24)renatov Escreveu: [ -> ]Quando eu tive problema com o Dbus Daemon, essa entrada no ~/.xinitrc resolveu pra mim. Talvez o seu display manager não esteja carregando o .xinitrc para inicializar o ambiente gráfico. Você usa gnome com gdm3?

Sim tenho gnome com gdm3, mas estou a utilizar openbox para o desktop....

(25/09/2011 12:24)renatov Escreveu: [ -> ]Tente fazer um teste, não inicialize o gnome pelo gdm, mas sim indo para um tty vazio (ex: Ctrl+Alt+F1) e digitando "$ startx" após deixar seu ~/.xinitrc assim:

Código:
#!/bin/bash
eval "$(dbus-launch --sh-syntax --exit-with-session)"
exec gnome-session

Experimentei fazer isso que recomendas-te e funciona! Mas eu não quero gnome, o meu ambiente é openbox, alterando para:

Código:
#!/bin/bash
eval "$(dbus-launch --sh-syntax --exit-with-session)"
exec openbox-session

Continua a dar o mesmo erro.... Penso que quando inicio a sessão em OpenBox, faltará iniciar ou carregar algum programa.... que achas? Hein

cumps Piscada
Se funcionou então é certeza que o problema era com o Dbus Daemon. Com relação ao OpenBox, você executa o "gnome-session-save" e dá o mesmo erro, é isso? Talvez falte carregar algum daemon do gnome, não sei.

Infelizmente nunca usei openbox e não poderei te ajudar. Tomara que alguém do fórum saiba como solucionar.
URL de Referência