dump-session: too many error messages
Ed_P
-
- Warlord
- Posts: 787
- Joined: 04 Jan 2014, 04:27
- Distribution: Porteus 5.0 x64 OpenBox
- Location: NZ
- Contact:
dump-session: too many error messages
Post#32 by rych » 12 Jul 2024, 11:54
instead of the old (or fixed) /opt/porteus-scripts/dump-session
for the
as a first test. As for replacing rc.6 and rc.local_shutdown, I'll be happy to replace them even on my main system but where did the slim.lock fix currently in my rc.local_shutdown go? Or is it not relevant anymore?
Code: Select all
root@porteus:~# cat /etc/rc.d/rc.local_shutdown
#!/bin/sh
#
# rc.local_shutdown
#
# This script is executed at shutdown (rc0) and reboot (rc6).
# You need to make it executable before using.
#
# Example:
# /etc/rc.d/rc.samba stop
txtbld=$(tput bold) # Bold
txtred=${txtbld}$(tput setaf 1) # Red
rst=$(tput sgr0) # Reset
function redwarning() {
echo -e $txtred "$1" $rst
}
## remove /var/run/slim.lock (in case it causes a problem with changes)
[ -e /var/run/slim.lock ] && rm /var/run/slim.lock
if [ $(grep ".dat" /mnt/live/tmp/changes-exit 2>/dev/null) ]; then
## wait for elogind/chvt to settle
sleep 3
SDspace=$(df -BM --output=size,used,avail,pcent /mnt/live/memory/images/changes | tail -n1)
read size used avail percent <<< $SDspace
if [ ${percent%\%} -gt 85 ]; then
echo
redwarning "Warning! save.dat file $percent full. Used: $used Free: $avail"
sleep 5
echo
else
echo
echo $txtbold "save.dat file $percent full. Used: $used Free: $avail" $rst
echo
fi
fi
rych
-
- Warlord
- Posts: 787
- Joined: 04 Jan 2014, 04:27
- Distribution: Porteus 5.0 x64 OpenBox
- Location: NZ
- Contact:
dump-session: too many error messages
Post#33 by rych » 12 Jul 2024, 12:10
No, it's just going to be the same code script for both in session commit and shutdown commit. They should both work the same. If you like you can test on your save.dat. I don't use save.dat so I'll be testing on /changes folder.
rych
- Ed_P
- Contributor
- Posts: 8961
- Joined: 06 Feb 2013, 22:12
- Distribution: Cinnamon 5.01 ISO
- Location: Western NY, USA
dump-session: too many error messages
Post#34 by Ed_P » 12 Jul 2024, 17:05
Not with /etc changes involved.
Code: Select all
guest@porteus:~/Downloads/zz-changes-exit-test/etc/rc.d$ ls -l
total 8
-rwxr-xr-x 1 guest users 2289 Jul 9 08:55 rc.6*
-rwxr-xr-x 1 guest users 185 Jul 11 09:05 rc.local_shutdown*
guest@porteus:~/Downloads/zz-changes-exit-test/etc/rc.d$
Ed_P
- ncmprhnsbl
- DEV Team
- Posts: 4293
- Joined: 20 Mar 2012, 03:42
- Distribution: v5.0-64bit
- Location: australia
- Contact:
dump-session: too many error messages
Post#35 by ncmprhnsbl » 13 Jul 2024, 01:16
we haven't used slim for a while, so i assumed it was no longer relevant. (it's lxdm these days)
i really don't know what else to add to dump-session: too many error messages (Post by ncmprhnsbl #99983) by way of explanation ... read through this whole topic thoroughly and the linked topics in dump-session: too many error messages (Post by ncmprhnsbl #99899)
in short: the impact should be: no impact.
one script that handles both in-session changes 'commit' and end-of session(shutdown/reboot) changes 'commit'.
it's just a rationalization of functions duplicated and spread over several locations.
ncmprhnsbl
-
- Warlord
- Posts: 787
- Joined: 04 Jan 2014, 04:27
- Distribution: Porteus 5.0 x64 OpenBox
- Location: NZ
- Contact:
dump-session: too many error messages
Post#36 by rych » 14 Jul 2024, 09:53
OK then, that line has been void anywayncmprhnsbl wrote: ↑13 Jul 2024, 01:16we haven't used slim for a while, so i assumed it was no longer relevant. (it's lxdm these days)
-- the script seems to be working alright so far, for in session commit
However, when/if it runs at shutdown, it no longer displays this:
It used to be displayed at the final screen by the initrd/cleanup, with an option to skip saving. Now even when I just boot and immediately shutdown, there is no "3 seconds" output anywhere? Where would the output from rc.6 be, same final screen? It's not there. The delay itself and changes saving could still be happening, and definitely the removal of /mnt/live/tmp/changes-exit happens because initrd/cleanup doesn't display the "3 seconds" message either.ncmprhnsbl wrote: ↑12 Jul 2024, 02:01echo -e "Your session will be saved in [1;33m3[0m seconds.\nPress space/enter to start doing it now or any other key to skip."; x=3
rych
- ncmprhnsbl
- DEV Team
- Posts: 4293
- Joined: 20 Mar 2012, 03:42
- Distribution: v5.0-64bit
- Location: australia
- Contact:
dump-session: too many error messages
Post#37 by ncmprhnsbl » 15 Jul 2024, 00:18
i did a test, and yes it does run, but isn't visible due to a little hack for elogind not present:
and because this takes a little time, a sleep needs to inserted, which was in rc.local_shutdown
added:
sleep 3 to the beginning of rc.6 (it may need longer, or it can get mixed in with X11 exit messages) (also removed this from the check size section of changes-commit)
fixed non functioning root escalation for in session commit.
todo: colorize messages for better visibility ..and probably use the color functions from porteus-functions
it may be that rc.6 isn't the best place for the sleep, and in that case i'll put it at the beginning of changes-commit like: [ $1 == 6 ] && sleep 3
ncmprhnsbl
- ncmprhnsbl
- DEV Team
- Posts: 4293
- Joined: 20 Mar 2012, 03:42
- Distribution: v5.0-64bit
- Location: australia
- Contact:
dump-session: too many error messages
Post#38 by ncmprhnsbl » 15 Jul 2024, 09:36
appears with skip functionality at shutdown
reworded the size checking to cover both folders and save.dat
sourced color functions from porteus-functions
colorized various outputs
added message: 'Skipping' ..when user chooses to skip the commit
and i think having the sleep in rc.6 uncovers some messages from there that were hidden before.
ncmprhnsbl
-
- Warlord
- Posts: 787
- Joined: 04 Jan 2014, 04:27
- Distribution: Porteus 5.0 x64 OpenBox
- Location: NZ
- Contact:
dump-session: too many error messages
Post#39 by rych » 15 Jul 2024, 12:52

rc.6 calls it like this:
Code: Select all
# Run changes-commit for changes=EXIT:
[ -f /mnt/live/tmp/changes-exit ] && /opt/porteus-scripts/changes-commit 6
Code: Select all
if [ "$1" != "6" ]; then
rc.6 alternative:
Code: Select all
# Run changes-commit for changes=EXIT:
if [ -f /mnt/live/tmp/changes-exit ]; then
echo "Your session will be saved in [1;33m3 seconds[0m"
echo "Press space/enter to start doing it now or any other key to skip."
x=3
while [ $x -gt 0 ]; do read -s -t1 -n1 ans && break || sleep 1; let x=x-1; done
if [ "$ans" = "" ]; then
/opt/porteus-scripts/changes-commit
else
echo "Skipping."
fi
rm /mnt/live/tmp/changes-exit
fi
The following two checks should still be present inside changes-commit, some duplicate safeguarding is unavoidable:
Code: Select all
test -f /mnt/live/tmp/changes-exit || { echo "'changes=EXIT:' cheatcode is not active - exiting..."; exit; }
if [ `whoami` != root ]; then
yellow "Please enter root's password below:"
su -c "$0"
exit
fi

rych
-
- Warlord
- Posts: 787
- Joined: 04 Jan 2014, 04:27
- Distribution: Porteus 5.0 x64 OpenBox
- Location: NZ
- Contact:
dump-session: too many error messages
Post#40 by rych » 15 Jul 2024, 13:34
No, sorry, this still doesn't work for me. Even increasing in your new rc.6 sleep to 6 seconds still shows no output and no offer to skip. As I shutdown by typing poweroff command, the screen switches to vt1 immediately where it simply waits those 3 or 6 seconds without displaying anything.ncmprhnsbl wrote: ↑15 Jul 2024, 09:36i think having the sleep in rc.6 uncovers some messages from there that were hidden before.
Well, if the rc.6 can't actually display, then indeed initrd/cleanup was the only place to do the changes-commit. And I guess it can't just call that script because some commands aren't available in the BusyBox so it has to reimplement the same algorithm the best it can

rych
- ncmprhnsbl
- DEV Team
- Posts: 4293
- Joined: 20 Mar 2012, 03:42
- Distribution: v5.0-64bit
- Location: australia
- Contact:
dump-session: too many error messages
Post#41 by ncmprhnsbl » 16 Jul 2024, 03:05
my logic on this is:
1. the check for space
2. then choose whether to skip
with your suggestion, the skip would happen before any size check happens.. and in the case of not skipping , there's no chance to after the size check reports a problem..
i realize that it's somewhat superfluous when in-session but also harmless..
(i've had a look and removed some of the unnecessary checks)
oh, it can and does.. the question i see here is: why it isn't displaying(up to the point of cleanup) when you use `poweroff`(which is a link to halt), instead of the shutdown dialog which uses `loginctl poweroff`
guessing it has something to do with "seat handling", wtaa.. ...stdout is going to ? ? maybe still vt7 perversely... maybe because the login seat hasn't "unseated" ..
ncmprhnsbl
-
- Warlord
- Posts: 787
- Joined: 04 Jan 2014, 04:27
- Distribution: Porteus 5.0 x64 OpenBox
- Location: NZ
- Contact:
dump-session: too many error messages
Post#42 by rych » 16 Jul 2024, 14:29
Yes, I've checked and the output of rc.6 is still on vt7! Could it be moved to the active vt1?
How does one shut down Porteus properly from CLI? I thought it was with poweroff...ncmprhnsbl wrote: ↑16 Jul 2024, 03:05when you use `poweroff`(which is a link to halt), instead of the shutdown dialog which uses `loginctl poweroff`
In that very exotic force majeure I'd rather see a red warning and the actual error of cp commands failing to add to /changes. Or, if it's really full, like 99%, the changes-commit could exit early -- when skipping or not isn't really an option for the user to decide.
Actually, I'm not sure skipping saving changes is a decision for the last stages of shutdown. I'd rather have a special command, poweroff-discarding-changes or a GUI menu entry. In the rest 99.9% cases I just want a 2 seconds quick shutdown

rych
- Ed_P
- Contributor
- Posts: 8961
- Joined: 06 Feb 2013, 22:12
- Distribution: Cinnamon 5.01 ISO
- Location: Western NY, USA
dump-session: too many error messages
Post#43 by Ed_P » 16 Jul 2024, 15:12
I prefer it to corrupting my save.dat file but then again I rarely shutdown my notebook, I reboot it back to safe mode. If time is more important to you change the time in the /etc/rc.d/rc.local-shutdown file to be 2 seconds and disregard any warnings.
Ed_P
- ncmprhnsbl
- DEV Team
- Posts: 4293
- Joined: 20 Mar 2012, 03:42
- Distribution: v5.0-64bit
- Location: australia
- Contact:
dump-session: too many error messages
Post#44 by ncmprhnsbl » 17 Jul 2024, 00:50
use `loginctl poweroff` < can used by normal user.
poweroff, reboot were fine until elogind replaced consolekit, apparently... an easy solution might be to alias these to the loginctl equivalents.
without testing i'd guess that poweroff would be ok for visibility of this stuff if you're already in runlevel 3 on vt1/tty1 ..
i'd imagine the decision to skip/not skip is(or should be) made well before shutdown, with the user ready with their finger on either enter/space(to skip the countdown) or any other key(to skip the save(and the countdown))

i havn't, so far, tried to do much more than put existing behavior into one script, without complicating it too much..
ncmprhnsbl
- Ed_P
- Contributor
- Posts: 8961
- Joined: 06 Feb 2013, 22:12
- Distribution: Cinnamon 5.01 ISO
- Location: Western NY, USA
dump-session: too many error messages
Post#45 by Ed_P » 17 Jul 2024, 04:32
In most cases I agree but then the surprising msg saying the save.dat is full, or near full, and the user has to think about what he/she has changed and what impact it may/will have on what's going to be saved. A new bookmark, a new browser, a new picture app, ....ncmprhnsbl wrote: ↑17 Jul 2024, 00:50i'd imagine the decision to skip/not skip is(or should be) made well before shutdown,
Ed_P