You are not logged in.
Pages: 1
xfce4-session process consumes a lot of RAM on my low-RAM machine.
I never, ever save sessions. I want to disable this process.
But when i kill the process, xfce goes down. And when i try to uninstall xfce4-session in Synaptic, it tells me it's going to uninstall xfce completely. I don't want that.
How can i disable this process, and keep xfce running?
THX
Last edited by johnywhy (2019-08-13 02:07:43)
arch xfce x86_64
Offline
xfce4-session process consumes a lot of RAM on my low-RAM machine.
How much RAM does it consume?
I never, ever save sessions. I want to disable this process.
Session managers do more than just save sessions, namely handling the logout/restart process as well. (Though you can still use the manual methods).
But when i kill the process, xfce goes down. And when i try to uninstall xfce4-session in Synaptic, it tells me it's going to uninstall xfce completely. I don't want that.
Perhaps its telling you that its just going to uninstall the Xfce meta package - which won't really install all of Xfce, just the Meta package. Can you post the message that you are getting?
How can i disable this process, and keep xfce running?
There is a way. To try it, rename /usr/bin/xfce4-session (to /usr/bin/xfce4-session.BAK). There is also a bug (I'll need to report this), but manually edit the /etc/xdg/xfce4/xinitrc file and change the line that reads:
xfwm4 --daemon
...to read:
xfwm4 &
Then restart your computer. This works for me on Arch, but I don't have a Mint system handy to see if it works there.
To reset everything, simply rename xfce4-session.BAK back to its original name.
Please remember to mark your thread [SOLVED] to make it easier for others to find
--- How To Ask For Help | FAQ | Developer Wiki | Community | Contribute ---
Offline
consumes 10 to 20 MB. Don't laugh, i'm trying to trim every bit, for 1GB-2GB machines.
no error-- Synaptic simply reports that it's going to uninstall xfce, when i mark xfce4-session for uninstallation.
is xfce4-session needed for command-line login?
THX
arch xfce x86_64
Offline
Xfce is very modular. Although xfce4-session provides a lot of important functionality, it is not required. However, for Xfce to still start properly you need the /etc/xdg/xfce4/xinitrc file that is contained within that package. If you plan to uninstall xfce4-session, copy that file to the ~/.config/xfce4 folder (plus make the change to the xfwm4 command) so that the environment will still start properly.
no error-- Synaptic simply reports that it's going to uninstall xfce, when i mark xfce4-session for uninstallation.
Confirm that its the Xfce meta package that is going to be uninstalled - as opposed to the individual Xfce components.
Please remember to mark your thread [SOLVED] to make it easier for others to find
--- How To Ask For Help | FAQ | Developer Wiki | Community | Contribute ---
Offline
i'm doing this on a custom DebianDog Stretch, not Mint.
http://murga-linux.com/puppy/viewtopic.php?t=111199
Mint is debian-based, so hoping this doesn't hose my OS
for Xfce to still start properly you need the /etc/xdg/xfce4/xinitrc file that is contained within that package. If you plan to uninstall xfce4-session, copy that file to the ~/.config/xfce4 folder (plus make the change to the xfwm4 command) so that the environment will still start properly.
phenomenal!
Confirm that its the Xfce meta package that is going to be uninstalled - as opposed to the individual Xfce components.
Update: Wow, it worked! I booted into xfce, no probs. Session is not running.
So far, (with several other tweaks), i got my boot idle down to 85 MB. Not done, tho'
new problem
orage now opens on boot, and it keeps running if i close it. How to prevent that?
THX
Last edited by johnywhy (2018-09-06 23:48:23)
arch xfce x86_64
Offline
Mint is debian-based
Mint does have one version of its distro that is built on Debian, LMDE3 (Linux Mint Debian Edition 3). But all of the main editions of Mint are built on Ubuntu.
Regards,
MDM
Offline
new problem
orage now opens on boot, and it keeps running if i close it. How to prevent that?
Edit the xinitrc file and comment out or remove the line that starts orage. Not sure why its there.
Please remember to mark your thread [SOLVED] to make it easier for others to find
--- How To Ask For Help | FAQ | Developer Wiki | Community | Contribute ---
Offline
johnywhy wrote:orage now opens on boot
Edit the xinitrc file and comment out or remove the line that starts orage.
Worked!
New issue, nothing in ~/Startup/ gets executed now. Suggestions?
THX
Last edited by johnywhy (2018-09-07 04:48:48)
arch xfce x86_64
Offline
That is one of the jobs of xfce4-session.
As a workaround, try creating ~/.xprofile and adding the applications to autostart there (make the file executable) or add them to the end of the xinitrc file.
Please remember to mark your thread [SOLVED] to make it easier for others to find
--- How To Ask For Help | FAQ | Developer Wiki | Community | Contribute ---
Offline
Thx for thinking outside the box, ToZ!
But Startup is a directory, into which i can put script files. So i don't want to call the scripts in .xprofile. Rather, i want a command that says "Execute everything in the Startup directory".
i put this into my .xprofile. Is this a good idea? Good syntax?
#!/bin/bash
run-parts --new-session ~/Startup
The scripts aren't executing on boot. This works at CLI:
sh ~/.xprofile
So, .xprofile isn't getting called on boot.
Any ideas?
THX
Last edited by johnywhy (2018-09-07 12:29:07)
arch xfce x86_64
Offline
You might want to try something like:
for s in ~/Startup/*
do
test -x "$s" && (nohup "$s" > /dev/null 2>&1 &)
done
Add this to the end of the xinitrc file.
Please remember to mark your thread [SOLVED] to make it easier for others to find
--- How To Ask For Help | FAQ | Developer Wiki | Community | Contribute ---
Offline
your script works if i execute it directly.
but not getting executed on boot.
also, nothing in Session and Startup app is starting.
more info that might be relevant: this OS is running init, not systemd
# ls -l $(which init)
-rwxr-xr-x 1 root root 43532 Feb 12 2017 /sbin/init
but systemd is available
# pstree -p
init(1)─┬─Thunar(2474)─┬─{gdbus}(2476)
│ └─{gmain}(2475)
├─cgmanager(2073)
├─dbus-daemon(2258)
├─dbus-daemon(2079)
├─dbus-launch(2257)
....
├─systemd-logind(2186)
├─systemd-udevd(1123)
as i'm still learning--
THX
Last edited by johnywhy (2018-09-07 23:11:11)
arch xfce x86_64
Offline
your script works if i execute it directly.
but not getting executed on boot.
It doesn't get executed at boot but rather on login.
- How are you logging in? Console login or display manager?
- Where did you put the script?
- Can you post back the full contents of your ~/.config/xfce4/xinitrc file?
also, nothing in Session and Startup app is starting.
This is because you disabled xfce4-session. Starting those apps is the job of xfce4-session.
Please remember to mark your thread [SOLVED] to make it easier for others to find
--- How To Ask For Help | FAQ | Developer Wiki | Community | Contribute ---
Offline
How are you logging in? Console login or display manager?
the distro i'm using seems to have disabled level 3 boot, and there's no slim or other login manager. It boots right into a root desktop (those crazy puppy linux people). This is not desirable for my scenario, so i don't want to spend time trying to make your script work in this environment. I'll install a 'normal' linux soon, to continue this experiment.
Where did you put the script?
/root/.xinitrc
Can you post back the full contents of your ~/.config/xfce4/xinitrc file?
#!/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
# set XDG_CURRENT_DESKTOP so that Qt 5 applications can identify user set Xfce theme
if test "x$XDG_CURRENT_DESKTOP" = "x"; then
XDG_CURRENT_DESKTOP="XFCE"
export XDG_CURRENT_DESKTOP
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
# Modify libglade and glade environment variables so that
# it will find the files installed by Xfce
GLADE_CATALOG_PATH="$GLADE_CATALOG_PATH:"
GLADE_PIXMAP_PATH="$GLADE_PIXMAP_PATH:"
GLADE_MODULE_PATH="$GLADE_MODULE_PATH:"
export GLADE_CATALOG_PATH
export GLADE_PIXMAP_PATH
export GLADE_MODULE_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 -merge -
# load local modmap
test -r $HOME/.Xmodmap && xmodmap $HOME/.Xmodmap
# run xfce4-session if installed
if which xfce4-session >/dev/null 2>&1; then
# check if we start xfce4-session with ck-launch-session. this is only
# required for starting from a console, not a login manager
if test "x$XFCE4_SESSION_WITH_CK" = "x1"; then
if which ck-launch-session >/dev/null 2>&1; then
ck-launch-session xfce4-session
else
echo
echo "You have tried to start Xfce with consolekit support, but"
echo "ck-launch-session is not installed."
echo "Aborted startup..."
echo
exit 1
fi
else
# start xfce4-session normally
xfce4-session
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.
##################
# 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
# 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 &
# start up stuff in $XDG_CONFIG_HOME/autostart/
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
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
xsetroot -bg white -fg red -solid black -cursor_name watch
also, nothing in Session and Startup app is starting.
This is because you disabled xfce4-session. Starting those apps is the job of xfce4-session.
ok, if possible i'd like to find a way to make that work too.
THX!
arch xfce x86_64
Offline
ToZ wrote:How are you logging in? Console login or display manager?
the distro i'm using seems to have disabled level 3 boot, and there's no slim or other login manager. It boots right into a root desktop (those crazy puppy linux people).
That should be simple to fix. Here's a thread with directions on doing so:
http://www.murga-linux.com/puppy/viewtopic.php?t=21338
...but it is quite old. As the distro's boot procedure might have changed, you should probably create a new thread on that distro's community support forum asking how to do it. Or spend more than the three seconds that I did on glancing at the search results for "puppy linux login manager," lol.
Regards,
MDM
Offline
Update:
When you remove xfce session manager, then logout and shutdown panel widgets stop working.
Here's an alternatve:
- Create two new panel widgets, titled Shutdown and Restart.
- Here are the commands:
Shutdown:
shutdown now &
Restart:
shutdown -r now &
or
reboot
Fancier (with 10-second countdown)
For zsh:
Shutdown:
bash -c "echo -e '\e[8;10;40t\e[5;1;31;49mShutting down in 10 seconds. \nCONTROL-C to cancel. \nENTER to shutdown now.' ; read -t 10 ; shutdown now"
Restart:
bash -c "echo -e '\e[8;10;40t\e[5;1;49;31mRestarting in 10 seconds. \nCONTROL-C to cancel.\nENTER to restart now. ' ; read -t 10 ; shutdown -r now"
For bash:
Shutdown:
echo -e '\e[8;10;40t\e[5;1;31;49mShutting down in 10 seconds. \nCONTROL-C to cancel. \nENTER to shutdown now.' ; read -t 10 ; shutdown now
Restart:
echo -e '\e[8;10;40t\e[5;1;49;31mRestarting in 10 seconds. \nCONTROL-C to cancel.\nENTER to restart now. ' ; read -t 10 ; shutdown -r now
Also nice to make a Lock command. xtrlock seems to be the lightest locker.
Last edited by johnywhy (2019-08-11 16:28:08)
arch xfce x86_64
Offline
Pages: 1
[ Generated in 0.012 seconds, 7 queries executed - Memory usage: 638.95 KiB (Peak: 672.23 KiB) ]