A page in your DokuWiki was added or changed. Here are the details:

Date        : 2019/01/30 20:22
Browser     : Mozilla/5.0 (X11; Linux x86_64; rv:52.9) Gecko/20100101 
Goanna/3.4 Firefox/52.9 PaleMoon/27.9.4
IP-Address  : 109.193.81.67
Hostname    : HSI-KBW-109-193-081-067.hsi7.kabel-badenwuerttemberg.de
Old Revision: https://wiki.x2go.org/doku.php/doc:howto:tce?rev=1547993665
New Revision: https://wiki.x2go.org/doku.php/doc:howto:tce
Edit Summary: [List of open ToDos/FIXMEs for this page] update image shrinking 
info
User        : stefanbaur

@@ -900,10 +900,40 @@
 FIXME <del>''2200-xserver-xorg-getxorgconf''</del> all scripts accepting URLs in boot 
parameters should be taught to understand ''file:<nowiki>///</nowiki>'' URLs. Such files 
can be included in the image by placing them in the ''./patch/includes.chroot/'' directory (in a 
suitable subdirectory) and referencing them from there.
FIXME it would be cool if most of the TCE-specific boot parameters could be placed into a
file that in turn can be specified as a boot parameter, to reduce clutter and 
boot parameter length. This could be aCGI script, even, thus making it possible 
to distribute different configs depending on the source IP of the ThinClient, 
rather than the MAC Address. Said file would then have to be sourced by the 
scripts, after they have extracted everything from /proc/cmdline. This will 
make adding the feature easier, by simply deciding that parameters from this 
file take precendence over boot parameters. One might argue that boot 
parameters should take precedence over the config file, but this sounds way 
more complicated to implement.
- FIXME A smaller image size can be achieved by removing the following packages from the squashfs: ''libxapian30 libpcsclite1 libdbus-glib-1-2 libfuse2 libpipeline1 libusb-1.0-0 libxv1 xnest xserver-xephyr rdesktop freerdp-x11 traceroute screen net-tools less ntfs-3g fuse locales cifs-utils xterm libgssglue1 libntfs-3g871 libtalloc2 libtcl8.6 libtk8.6
libutempter0 libvncclient1 libvncserver1 libwbclient0 libxcb-xf86dri0 
libxcb-xv0 samba-common tcl tcl8.6 tk tk8.6 xbitmaps nfs-common rpcbind 
atmel-firmware bluez-firmware dahdi-firmware-nonfree hdmi2usb-fx2-firmware 
iso-codes ixo-usb-jtag libc-l10n libnfsidmap2 libtirpc1 firmware* x11vnc* 
libfreerdp* libwinpr*
- libapparmor1 systemd apt-utils libapt-inst2.0'' - check if this could be 
turned into a build parameter. Note that this makes only sense for a netboot 
image that uses X2Go sessions only, and no NTFS media (neither fixed disk nor 
USB). Further reduction needs to be investigated: ''acpi-support-base* acpid* 
acpi-support* pm-utils* powermgmt-base* gnupg gnupg-agent whiptail vim* 
vim-common* vim-tiny* xxd* xinetd libcroco3* libcurl3* libexif12* 
libgdk-pixbuf2.0-0* libgdk-pixbuf2.0-common* libgif7* libid3tag0* libimlib2* 
libnghttp2-14* libobrender32v5* libobt2v5* libpango-1.0-0* libpangocairo-1.0-0* 
libpangoft2-1.0-0* libpangoxft-1.0-0* librsvg2-2* librtmp1* libssh2-1*
libstartup-notification0* libxft2* libxss1* vim-runtime* xprintidle feh xdotool 
openbox rsync   xserver-xorg-input-wacom* xserver-xorg-video-all* 
xserver-xorg-video-amdgpu* xserver-xorg-video-ati* xserver-xorg-video-nouveau* 
xserver-xorg-video-qxl* xserver-xorg-video-radeon* xserver-xorg-video-vmware* 
libdrm-amdgpu1* libdrm-nouveau2* libdrm-radeon1* libllvm3.9* libsensors4* 
libxatracker2*'' causes an X startup failure during boot (things seem to work 
when X is started manually afterwards, which makes this especially bizarre)
+ FIXME A smaller image size can be achieved by removing the following packages 
from the squashfs: ''libxapian30 libpcsclite1 libdbus-glib-1-2 libfuse2 
libpipeline1 libusb-1.0-0 libxv1 xnest xserver-xephyr rdesktop freerdp-x11 
traceroute screen net-tools less ntfs-3g fuse locales cifs-utils xterm 
libgssglue1 libntfs-3g871 libtalloc2 libtcl8.6 libtk8.6 libutempter0 
libvncclient1 libvncserver1 libwbclient0 libxcb-xf86dri0 libxcb-xv0 
samba-common tcl tcl8.6 tk tk8.6
xbitmaps nfs-common rpcbind atmel-firmware bluez-firmware 
dahdi-firmware-nonfree hdmi2usb-fx2-firmware iso-codes ixo-usb-jtag libc-l10n 
libnfsidmap2 libtirpc1 firmware* x11vnc* libfreerdp* libwinpr* libapparmor1 
systemd apt-utils libapt-inst2.0 acpi-support-base* acpid* acpi-support* 
pm-utils* powermgmt-base* gnupg gnupg-agent whiptail vim* vim-common* vim-tiny* 
xxd* xinetd libcroco3* libcurl3* libexif12* libgdk-pixbuf2.0-0* 
libgdk-pixbuf2.0-common* libgif7* libid3tag0* libimlib2* libnghttp2-14* 
libobrender32v5* libobt2v5* libpango-1.0-0* libpangocairo-1.0-0* 
libpangoft2-1.0-0* libpangoxft-1.0-0* librsvg2-2* librtmp1* libssh2-1* 
libstartup-notification0* libxft2* libxss1* vim-runtime* xprintidle feh xdotool 
openbox rsync   xserver-xorg-input-wacom* xserver-xorg-video-all* 
xserver-xorg-video-amdgpu* xserver-xorg-video-ati* xserver-xorg-video-nouveau* 
xserver-xorg-video-qxl* xserver-xorg-video-radeon* xserver-xorg-video-vmware* 
libdrm-amdgpu1* libdrm-nouveau2* libdrm-radeon1*
libllvm3.9* libsensors4* libxatracker2*'' + - check if this could be turned into a build parameter. Note that this makes only sense for a netboot image that uses X2Go sessions only, and no NTFS media (neither fixed disk nor USB). Also, this causes an X startup failure during boot that needs to be worked around (by touching /home/user/.xsession).
+ Here's a script to do all of this automatically (needs to be run as root in 
the builddir:
+ <file - stripimage.sh>
+ #!/bin/bash -e
+ + if [ $UID -ne 0 ] ; then
+       echo "Must be root."
+       exit 1
+ fi
+ + unsquashfs x2go-tce-filesystem.squashfs
+ mount --bind /proc squashfs-root/proc
+ + chroot squashfs-root apt purge -y acpi-support-base acpid acpi-support pm-utils powermgmt-base gnupg gnupg-agent whiptail vim vim-common vim-tiny xxd xinetd libcroco3 libcurl3 libexif12 libgdk-pixbuf2.0-0 libgdk-pixbuf2.0-common libgif7 libid3tag0 libimlib2 libnghttp2-14 libobrender32v5 libobt2v5 libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0
libpangoxft-1.0-0 librsvg2-2 librtmp1 libssh2-1 libstartup-notification0 
libxft2 libxss1 vim-runtime rsync xserver-xorg-input-wacom 
xserver-xorg-video-all xserver-xorg-video-amdgpu xserver-xorg-video-ati 
xserver-xorg-video-nouveau xserver-xorg-video-qxl xserver-xorg-video-radeon 
xserver-xorg-video-vmware libdrm-amdgpu1 libdrm-nouveau2 libdrm-radeon1 
libllvm3.9 libsensors4 libxatracker2 xprintidle feh xdotool openbox libxapian30 
libpipeline1 libnpth0 libksba8 libseccomp2 libsqlite3-0 libxdo3 libnewt0.52 
libxmuu1 libxrandr2 x11-xserver-utils libslang2 libxinerama1 libxcursor1 cpp 
cpp-6 keyutils libassuan0 libdatrie1 libevent-2.0-5 libisl15 libmpc3 libmpfr4 
libthai-data libthai0 libxcursor1 pinentry-curses trickle libxapian30 
libpcsclite1 libdbus-glib-1-2 libfuse2 libpipeline1 libusb-1.0-0 libxv1 xnest 
xserver-xephyr rdesktop freerdp-x11 traceroute screen net-tools less ntfs-3g 
fuse locales cifs-utils xterm libgssglue1 libntfs-3g871 libtalloc2 libtcl8.6 
libtk8.6 libutempter0
libvncclient1 libvncserver1 libwbclient0 libxcb-xf86dri0 libxcb-xv0 
samba-common tcl tcl8.6 tk tk8.6 xbitmaps nfs-common rpcbind atmel-firmware 
bluez-firmware dahdi-firmware-nonfree hdmi2usb-fx2-firmware iso-codes 
ixo-usb-jtag libc-l10n libnfsidmap2 libtirpc1 x11vnc x11vnc-data libapparmor1 
systemd apt-utils libapt-inst2.0 libfreerdp-cache1.1 libfreerdp-client1.1 
libfreerdp-codec1.1 libfreerdp-common1.1.0 libfreerdp-core1.1 
libfreerdp-crypto1.1 libfreerdp-gdi1.1 libfreerdp-locale1.1 
libfreerdp-primitives1.1 libfreerdp-rail1.1 libfreerdp-utils1.1 libwinpr-crt0.1 
libwinpr-crypto0.1 libwinpr-dsparse0.1 libwinpr-environment0.1 libwinpr-file0.1 
libwinpr-handle0.1 libwinpr-heap0.1 libwinpr-input0.1 libwinpr-interlocked0.1 
libwinpr-library0.1 libwinpr-path0.1 libwinpr-pool0.1 libwinpr-registry0.1 
libwinpr-rpc0.1 libwinpr-sspi0.1 libwinpr-synch0.1 libwinpr-sysinfo0.1 
libwinpr-thread0.1 libwinpr-utils0.1 firmware-amd-graphics firmware-atheros 
firmware-bnx2 firmware-bnx2x firmware-brcm80211
firmware-cavium firmware-crystalhd firmware-intel-sound firmware-intelwimax 
firmware-ipw2x00 firmware-ivtv firmware-iwlwifi firmware-libertas 
firmware-linux firmware-linux-free firmware-linux-nonfree firmware-misc-nonfree 
firmware-myricom firmware-netxen firmware-qlogic firmware-realtek 
firmware-samsung firmware-siano firmware-ti-connectivity firmware-zd1211
+ + chroot squashfs-root dpkg -P apt tasksel tasksel-data
+ rm squashfs-root/etc/X11/Xsession.d/60x11-openbox-start 
squashfs-root/etc/X11/Xsession.d/60x11-spawn-configure-slideshow-screensaver
+ (cd squashfs-root/usr/bin/ ; ln -sf ../../bin/false xsetwacom)
+ mkdir -p squashfs-root/home/user
+ touch squashfs-root/home/user/.xsession
+ umount squashfs-root/proc
+ if ! grep '^eval $THROTTLINGCOMMAND' 
squashfs-root/etc/X11/Xsession.d/61x11-start-x2goclient | grep -q -- ' 
--thinclient ' ; then \
+ sed -i -e 's#eval \$THROTTLINGCOMMAND x2goclient#eval \$THROTTLINGCOMMAND 
x2goclient --thinclient#g'
squashfs-root/etc/X11/Xsession.d/61x11-start-x2goclient ; \
+ fi
+ if [ -f binary/live/filesystem.squashfs ] ; then mv 
binary/live/filesystem.squashfs binary/live/filesystem.squashfs.old ; fi
+ mkdir -p binary/live && mksquashfs squashfs-root 
binary/live/filesystem.squashfs -comp xz -Xbcj x86 -b 1024K -Xdict-size 1024K -noappend
+ rm -rf squashfs-root
+ ln binary/live/filesystem.squashfs x2go-tce-filesystem-stripped.squashfs
+ (cd binary; echo live$'\n'live/filesystem.squashfs |cpio -o -H newc | gzip 
--fast) >./tce-filesystem-stripped.cpio.gz
+ cat ./x2go-tce-initrd.img ./tce-filesystem-stripped.cpio.gz 
>./x2go-tce-initrd-with-fs-stripped.img
+ </file>
FIXME for MATE-MiniDesktop, it might make sense to teach the image how to do LDAP auth (preferably with LDAPS or LDAP+TLS) and use lightdm without the auto-login. That way, a local screensaver //with// locking functionality (prompting for the actual user's LDAP password) should be possible - and LDAP credential passthrough to
X2GoClient should work, too (though that might require kerberos in addition to 
LDAP,we'll see).
FIXME Scripts triggered by if-up should check if a new download is really necessary.


--
This mail was generated by DokuWiki at
https://wiki.x2go.org/

_______________________________________________
x2go-commits mailing list
[email protected]
https://lists.x2go.org/listinfo/x2go-commits

Reply via email to