You are not logged in.
Pages: 1
Hi,
I am unable to figure out how to autostart cairo compmgr in xfce4. Wiki says to put cairo-compmgr & in ~/.xinitrc which i did but it doesn't work. I am not sure where to put it in ~/.xinitrc.
#!/bin/sh
#
# ~/.xinitrc
#
# Executed by startx (run your window manager from here)
if [ -d /etc/X11/xinit/xinitrc.d ]; then
for f in /etc/X11/xinit/xinitrc.d/*; do
[ -x "$f" ] && . "$f"
done
unset f
fi
# exec gnome-session
# exec startkde
# exec startxfce4
# ...or the Window Manager of your choice
exec ck-launch-session startxfce4
Thanks.
Offline
Above the exec line. If this doesn't work, you could try xfce4-autostart-editor.
Offline
Above the exec line. If this doesn't work, you could try xfce4-autostart-editor.
No, xinitrc did not work. I have tried putting it above, on and below the exec line. xfce4-autostart-editor - did you mean 'Session and Startup' in settings menu? Last time i put cairo-compmgr in 'Application Autostart' & i could not get xfce4 to start, it stuck at blank screen.
Offline
xfce4-autostart-editor is most probably "Session and Startup" indeed - I'm not really a XFCE4 user.
Does cairo-compmgr work when you start it manually from within XFCE4 (from the terminal or alt+f2 runner)? What happens if it is above the exec line?
Offline
Copy
/etc/xdg/xfce4/xinitrc
to
~/.config/xfce4/xinitrc
and try putting 'cario-compmgr &' in there.
Offline
Copy
/etc/xdg/xfce4/xinitrc
to
~/.config/xfce4/xinitrc
and try putting 'cario-compmgr &' in there.
Thanks for reply. It did not work.
Here is xinitrc
#!/bin/sh
# fix broken $UID on some system...
if test "x$UID" = "x"; then
if test -x /usr/xpg4/bin/id; then
UID=`/usr/xpg4/bin/id -u`;
else
UID=`id -u`;
fi
fi
# set $XDG_MENU_PREFIX to "xfce-" so that "xfce-applications.menu" is picked
# over "applications.menu" in all Xfce applications.
if test "x$XDG_MENU_PREFIX" = "x"; then
XDG_MENU_PREFIX="xfce-"
export XDG_MENU_PREFIX
fi
# set DESKTOP_SESSION so that one can detect easily if an Xfce session is running
if test "x$DESKTOP_SESSION" = "x"; then
DESKTOP_SESSION="xfce"
export DESKTOP_SESSION
fi
# $XDG_CONFIG_HOME defines the base directory relative to which user specific
# configuration files should be stored. If $XDG_CONFIG_HOME is either not set
# or empty, a default equal to $HOME/.config should be used.
if test "x$XDG_CONFIG_HOME" = "x" ; then
XDG_CONFIG_HOME=$HOME/.config
fi
[ -d "$XDG_CONFIG_HOME" ] || mkdir "$XDG_CONFIG_HOME"
# $XDG_CACHE_HOME defines the base directory relative to which user specific
# non-essential data files should be stored. If $XDG_CACHE_HOME is either not
# set or empty, a default equal to $HOME/.cache should be used.
if test "x$XDG_CACHE_HOME" = "x" ; then
XDG_CACHE_HOME=$HOME/.cache
fi
[ -d "$XDG_CACHE_HOME" ] || mkdir "$XDG_CACHE_HOME"
# set up XDG user directores. see
# http://freedesktop.org/wiki/Software/xdg-user-dirs
if which xdg-user-dirs-update >/dev/null 2>&1; then
xdg-user-dirs-update
fi
if test -f "$XDG_CONFIG_HOME/user-dirs.dirs"; then
. "$XDG_CONFIG_HOME/user-dirs.dirs"
# i'm deliberately not 'export'-ing the XDG_ vars, because you shouldn't
# rely on the env vars inside apps, since the file could be changed at
# any time by the user. this is solely here for migration purposes.
# a bit of user dir migration...
if test -d "$HOME/Desktop" -a ! -L "$HOME/Desktop" \
-a "$XDG_DESKTOP_DIR" \
-a "$HOME/Desktop" != "$XDG_DESKTOP_DIR"
then
echo "Migrating $HOME/Desktop to $XDG_DESKTOP_DIR..."
test -d "$XDG_DESKTOP_DIR" && rmdir "$XDG_DESKTOP_DIR"
mv "$HOME/Desktop" "$XDG_DESKTOP_DIR" || echo "Desktop migration failed" >&2
fi
if test -d "$HOME/Templates" -a ! -L "$HOME/Templates" \
-a "$XDG_TEMPLATES_DIR" \
-a "$HOME/Templates" != "$XDG_TEMPLATES_DIR"
then
echo "Migrating $HOME/Templates to $XDG_TEMPLATES_DIR..."
test -d "$XDG_TEMPLATES_DIR" && rmdir "$XDG_TEMPLATES_DIR"
mv "$HOME/Templates" "$XDG_TEMPLATES_DIR" || echo "Templates migration failed" >&2
fi
fi
# Modify libglade and glade environment variables so that
# it will find the files installed by Xfce
LIBGLADE_MODULE_PATH="$LIBGLADE_MODULE_PATH:"
GLADE_CATALOG_PATH="$GLADE_CATALOG_PATH:"
GLADE_PIXMAP_PATH="$GLADE_PIXMAP_PATH:"
GLADE_MODULE_PATH="$GLADE_MODULE_PATH:"
export LIBGLADE_MODULE_PATH
export GLADE_CATALOG_PATH
export GLADE_PIXMAP_PATH
export GLADE_MODULE_PATH
# Export GTK_PATH so that GTK+ can find the Xfce theme engine
# https://bugzilla.xfce.org/show_bug.cgi?id=7483
#GTK_PATH="$GTK_PATH:/usr/lib/gtk-2.0"
#export GTK_PATH
# For now, start with an empty list
XRESOURCES=""
# Has to go prior to merging Xft.xrdb, as its the "Defaults" file
test -r "/etc/xdg/xfce4/Xft.xrdb" && XRESOURCES="$XRESOURCES /etc/xdg/xfce4/Xft.xrdb"
test -r $HOME/.Xdefaults && XRESOURCES="$XRESOURCES $HOME/.Xdefaults"
BASEDIR=$XDG_CONFIG_HOME/xfce4
if test -r "$BASEDIR/Xft.xrdb"; then
XRESOURCES="$XRESOURCES $BASEDIR/Xft.xrdb"
elif test -r "$XFCE4HOME/Xft.xrdb"; then
mkdir -p "$BASEDIR"
cp "$XFCE4HOME/Xft.xrdb" "$BASEDIR"/
XRESOURCES="$XRESOURCES $BASEDIR/Xft.xrdb"
fi
# merge in X cursor settings
test -r "$BASEDIR/Xcursor.xrdb" && XRESOURCES="$XRESOURCES $BASEDIR/Xcursor.xrdb"
# ~/.Xresources contains overrides to the above
test -r "$HOME/.Xresources" && XRESOURCES="$XRESOURCES $HOME/.Xresources"
# load all X resources (adds /dev/null to avoid an empty list that would hang the process)
cat /dev/null $XRESOURCES | xrdb -nocpp -merge -
# load local modmap
test -r $HOME/.Xmodmap && xmodmap $HOME/.Xmodmap
# Use dbus-launch if installed.
if test x"$DBUS_SESSION_BUS_ADDRESS" = x""; then
if which dbus-launch >/dev/null 2>&1; then
eval `dbus-launch --sh-syntax --exit-with-session`
# some older versions of dbus don't export the var properly
export DBUS_SESSION_BUS_ADDRESS
else
echo "Could not find dbus-launch; Xfce will not work properly" >&2
fi
fi
# launch gpg-agent or ssh-agent if enabled.
ssh_agent_enabled=`xfconf-query -c xfce4-session -p /startup/ssh-agent/enabled 2> /dev/null`
if test "$ssh_agent_enabled" != "false"; then
# if the user has pam_ssh installed, it will start ssh-agent for us, but
# of course won't start gpg-agent. so, if ssh-agent is already running,
# but we want gpg-agent (and that's not running yet) start gpg-agent
# without ssh support
ssh_agent_type=`xfconf-query -c xfce4-session -p /startup/ssh-agent/type 2> /dev/null`
if test -z "$ssh_agent_type"; then
if which gpg-agent >/dev/null 2>&1; then
ssh_agent_type=gpg-agent
else
ssh_agent_type=ssh-agent
fi
fi
# ignore stale ssh-agents
if test "$SSH_AGENT_PID"; then
if ! kill -0 $SSH_AGENT_PID; then
unset SSH_AGENT_PID
unset SSH_AUTH_SOCK
fi
fi
case "$ssh_agent_type" in
gpg-agent)
if test -z "$SSH_AGENT_PID"; then
eval `gpg-agent --daemon --enable-ssh-support --write-env-file $XDG_CACHE_HOME/gpg-agent-info`
ssh_agent_kill_cmd="kill -INT $SSH_AGENT_PID; rm -f $XDG_CACHE_HOME/gpg-agent-info"
elif test -z "$GPG_AGENT_INFO"; then
echo "ssh-agent is already running; starting gpg-agent without ssh support"
eval `gpg-agent --daemon --write-env-file $XDG_CACHE_HOME/gpg-agent-info`
ssh_agent_kill_cmd="pkill -INT ^gpg-agent\$; rm -f $XDG_CACHE_HOME/gpg-agent-info"
else
echo "gpg-agent is already running"
fi
;;
ssh-agent)
if test -z "$SSH_AGENT_PID"; then
eval `ssh-agent -s`
ssh_agent_kill_cmd="ssh-agent -s -k"
else
echo "ssh-agent is already running"
fi
;;
*)
echo "Unrecognized agent type '$ssh_agent_type'" >&2
;;
esac
fi
# launch a screensaver if enabled. do not launch if we're root or if
# we're in a VNC session.
screensaver_enabled=`xfconf-query -c xfce4-session -p /startup/screensaver/enabled 2> /dev/null`
if test $UID -gt 0 -a -z "$VNCSESSION" -a "$screensaver_enabled" != "false"; then
screensaver_type=`xfconf-query -c xfce4-session -p /startup/screensaver/type 2> /dev/null`
case "$screensaver_type" in
xscreensaver)
xscreensaver -no-splash &
;;
gnome-screensaver)
gnome-screensaver &
;;
*)
if test x"`which xscreensaver 2>/dev/null`" != x""; then
xscreensaver -no-splash &
elif test x"`which gnome-screensaver 2>/dev/null`" != x""; then
gnome-screensaver &
fi
;;
esac
fi
# Run xfce4-session if installed
if which xfce4-session >/dev/null 2>&1; then
xfce4-session
if test "$ssh_agent_kill_cmd"; then
echo "running '$ssh_agent_kill_cmd'"
eval "$ssh_agent_kill_cmd"
fi
exit 0
fi
##################
# IMPORTANT NOTE #
##################
# Everything below here ONLY gets executed if you are NOT using xfce4-session
# (Xfce's session manager). If you are using the session manager, everything
# below is handled by it, and the code below is not executed at all. If you're
# not sure if you're using the session manager, type 'ps -e|grep xfce4-session'
# in a terminal while Xfce is running.
##################
# this is only necessary when running w/o xfce4-session
xsetroot -solid black -cursor_name watch
# or use old-fashioned startup script otherwise
xfsettingsd &
xfwm4 --daemon
# start up stuff in $XDG_CONFIG_HOME/autostart/, as that looks to be
# the new standard. if that directory doesn't exist, try the old
# ~/Desktop/Autostart method. we're not going to do any migration here.
if test -d "$XDG_CONFIG_HOME/autostart"; then
for i in ${XDG_CONFIG_HOME}/autostart/*.desktop; do
grep -q -E "^Hidden=true" "$i" && continue
if grep -q -E "^OnlyShowIn=" "$i"; then
# need to test twice, as lack of the line entirely means we still run it
grep -E "^OnlyShowIn=" "$i" | grep -q 'XFCE;' || continue
fi
grep -E "^NotShowIn=" "$i" | grep -q 'XFCE;' && continue
# check for TryExec
trycmd=`grep -E "^TryExec=" "$i" | cut -d'=' -f2`
if test "$trycmd"; then
which "$trycmd" >/dev/null 2>&1 || continue
fi
cmd=`grep -E "^Exec=" "$i" | cut -d'=' -f2`
if test "$cmd" && which "$cmd" >/dev/null 2>&1; then
$cmd &
fi
done
elif test -d "$HOME/Desktop/Autostart"; then
for i in `ls -1 -L ${HOME}/Desktop/Autostart/ 2>/dev/null`; do
if test -x $HOME/Desktop/Autostart/$i; then
$HOME/Desktop/Autostart/$i &
fi
done
fi
xfdesktop&
orage &
panel=`which xfce4-panel`
case "x$panel" in
x|xno*)
;;
*)
$panel
ret=$?
while test $ret -ne 0; do
xmessage -center -file - -timeout 20 -title Error <<EOF
A crash occured in the panel
Please report this to the xfce4-dev@xfce.org list
or on http://bugs.xfce.org
Meanwhile the panel will be restarted
EOF
cat >&2 <<EOF
A crash occured in the panel
Please report this to the xfce4-dev@xfce.org list
or on http://bugs.xfce.org
Meanwhile the panel will be restarted
EOF
$panel
ret=$?
done
;;
esac
if test "$ssh_agent_kill_cmd"; then
eval "$ssh_agent_kill_cmd"
fi
xsetroot -bg white -fg red -solid black -cursor_name watch
cairo-compmgr &
Offline
Change you ~/.xinitrc back to:
#!/bin/sh
exec ck-launch-session startxfce4
And then see if you can run "cairo-compmgr" from a terminal or the xfrun4 box.
Offline
Holy hell that's a complex xinitrc. There is the comment line saying that nothing below that is executed - and your call to cairo-compmgr is put at the end of that never-executed-code, so no surprise it's not running.
"UNIX is simple and coherent..." - Dennis Ritchie, "GNU's Not UNIX" - Richard Stallman
Offline
So just to be clear, have you tried using this as your .xinitrc?
cairo-compmgr &
exec ck-launch-session startxfce4
Offline
Maybe add a delay before starting cairo-compmgr?
(sleep 10s && cairo-compmgr) &
Last edited by anonymous_user (2012-01-17 01:26:27)
Offline
Holy hell that's a complex xinitrc. There is the comment line saying that nothing below that is executed - and your call to cairo-compmgr is put at the end of that never-executed-code, so no surprise it's not running.
It was empty initially but I copied xinitrc as suggested by Hesse above and that populated it. I has a single like 'exec ck-launch-session startxfce4' in my original xinitrc.
Offline
Offline
Just a question: why do you want to use cairo compmgr in xfce ? xfce has a built-in compositor.
Have you disabled the compositor of xfce before trying to start cairo compmgr ? You can't have both enabled.
If you start cairo-compgmr from a terminal, does it display any error message ?
Offline
Just a question: why do you want to use cairo compmgr in xfce ? xfce has a built-in compositor.
Have you disabled the compositor of xfce before trying to start cairo compmgr ? You can't have both enabled.
If you start cairo-compgmr from a terminal, does it display any error message ?
I get no error when I run cairo-compmgr & in a terminal.
Offline
Pages: 1