DVM: execute user script before save
qubes_prepare_saved_domain.sh now takes optional second argument, the filename. The content of the file will be copied (via xenstore) to DVM and executed just before save. This makes it possible to preload memory with useful apps.
Bu işleme şunda yer alıyor:
ebeveyn
89c09816b4
işleme
c518538f59
@ -6,6 +6,18 @@
|
|||||||
# Source function library.
|
# Source function library.
|
||||||
. /etc/rc.d/init.d/functions
|
. /etc/rc.d/init.d/functions
|
||||||
|
|
||||||
|
possibly_run_save_script()
|
||||||
|
{
|
||||||
|
ENCODED_SCRIPT=$(xenstore-read qubes_save_script)
|
||||||
|
if [ -z "$ENCODED_SCRIPT" ] ; then return ; fi
|
||||||
|
echo $ENCODED_SCRIPT|perl -e 'use MIME::Base64 qw(decode_base64); local($/) = undef;print decode_base64(<STDIN>)' >/tmp/qubes_save_script
|
||||||
|
chmod 755 /tmp/qubes_save_script
|
||||||
|
Xorg -config /etc/X11/xorg-preload-apps.conf :0 &
|
||||||
|
sleep 2
|
||||||
|
DISPLAY=:0 su - user -c /tmp/qubes_save_script
|
||||||
|
killall Xorg
|
||||||
|
}
|
||||||
|
|
||||||
start()
|
start()
|
||||||
{
|
{
|
||||||
echo -n $"Executing Qubes Core scripts:"
|
echo -n $"Executing Qubes Core scripts:"
|
||||||
@ -14,7 +26,8 @@ start()
|
|||||||
echo "ERROR: /usr/bin/xenstore-read not found!"
|
echo "ERROR: /usr/bin/xenstore-read not found!"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
if xenstore-read qubes_save_request ; then
|
if xenstore-read qubes_save_request 2>/dev/null ; then
|
||||||
|
possibly_run_save_script
|
||||||
touch /etc/this_is_dvm
|
touch /etc/this_is_dvm
|
||||||
dmesg -c >/dev/null
|
dmesg -c >/dev/null
|
||||||
# echo 1 >/proc/sys/vm/drop_caches
|
# echo 1 >/proc/sys/vm/drop_caches
|
||||||
|
|||||||
@ -81,6 +81,9 @@ cp ../common/qubes_serial_login $RPM_BUILD_ROOT/sbin
|
|||||||
mkdir -p $RPM_BUILD_ROOT/etc
|
mkdir -p $RPM_BUILD_ROOT/etc
|
||||||
cp ../common/serial.conf $RPM_BUILD_ROOT/var/lib/qubes/
|
cp ../common/serial.conf $RPM_BUILD_ROOT/var/lib/qubes/
|
||||||
|
|
||||||
|
mkdir -p $RPM_BUILD_ROOT/etc/X11
|
||||||
|
cp xorg-preload-apps.conf $RPM_BUILD_ROOT/etc/X11
|
||||||
|
|
||||||
mkdir -p $RPM_BUILD_ROOT/home_volatile/user
|
mkdir -p $RPM_BUILD_ROOT/home_volatile/user
|
||||||
chown 500:500 $RPM_BUILD_ROOT/home_volatile/user
|
chown 500:500 $RPM_BUILD_ROOT/home_volatile/user
|
||||||
|
|
||||||
@ -199,3 +202,4 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
/usr/bin/qubes_timestamp
|
/usr/bin/qubes_timestamp
|
||||||
%dir /home_volatile
|
%dir /home_volatile
|
||||||
%attr(700,user,user) /home_volatile/user
|
%attr(700,user,user) /home_volatile/user
|
||||||
|
/etc/X11/xorg-preload-apps.conf
|
||||||
|
|||||||
Yükleniyor…
Yeni konuda referans
Bir kullanıcı engelle