Compare commits

..

165 Commits
v2.1 ... master

Author SHA1 Message Date
Pietro Brenna 5aa73fb1af \ -> \\ 2020-01-19 18:30:16 +01:00
Pietro Brenna bc5a770d3f 1 != l 2020-01-19 18:29:05 +01:00
Pietro Brenna a3bfaccea1 rootcopy custom 2020-01-19 18:15:33 +01:00
Pietro Brenna f02e73e522 Patch guido 2020-01-16 16:49:39 +01:00
TomasM 56dc040397 revert back binary changes 2019-12-07 10:15:25 +00:00
TomasM 8678d5f4b5 update syslinux and extlinux32 2019-12-07 10:07:57 +00:00
TomasM b588256382 update syslinux (and extlinux64) binaries 2019-12-07 05:02:48 -05:00
TomasM 81dfba7480 install chromium-sandbox 2019-11-17 09:59:33 +00:00
TomasM e552cf09c6 install chromium-sandbox package 2019-11-17 09:58:40 +00:00
TomasM f43da7b5cf add universal sb script to manipulate slax modules 2019-11-17 09:52:09 +00:00
TomasM 82555a7ec4 add dummy sudo 2019-11-17 09:44:11 +00:00
TomasM 8db5cb64a2 fix path 2019-11-17 08:59:35 +00:00
TomasM c405536126 Disable apparmor for Slax 2019-11-17 08:58:42 +00:00
TomasM 9774c4dd1b cleanup python desktop icon 2019-10-20 09:27:14 +00:00
TomasM 7b243f9781 fix usage 2019-10-20 09:26:04 +00:00
TomasM ecdfe750c8 fix building pcmanfm 2019-10-20 08:18:19 +00:00
TomasM 103e1eeb13 removed leafpad since it was removed from Debian 2019-10-20 07:17:04 +00:00
TomasM ece2224e18 moved some dirs due to debian10 root fs changes 2019-10-20 07:13:40 +00:00
TomasM 0010fcde7e != 2019-10-19 20:17:51 +00:00
TomasM a45ff59376 install wget 2019-10-19 20:11:04 +00:00
TomasM 2c2e73992f bugfix 2019-10-19 19:49:27 +00:00
TomasM 9e41cd8253 repackage core module to include aufs 2019-10-19 19:40:01 +00:00
TomasM 31c1e64cec remove sshd config since it is no longer needed to permit root login, it's there already 2019-10-19 19:22:31 +00:00
TomasM fcc1c91b2b check kernel upgrade 2019-10-19 19:16:22 +00:00
TomasM 32afaf7f89 first attempt for debian10 Slax 2019-10-19 19:02:17 +00:00
TomasM 7bca13b9a6 renamed to reflect version it is for 2019-10-19 19:01:58 +00:00
Tomas M 5f0ccd3362 Add mmc drivers 2019-10-13 19:09:15 +00:00
Tomas M b6569a3d0b Typo fix, thanks to Johannes 2019-10-13 20:44:13 +02:00
Tomas-M 89c08c297a
Disable console blanking 2019-09-13 19:37:16 +02:00
Tomas-M 98cd8e51b4
Update .bashrc 2019-09-13 19:36:00 +02:00
Tomas-M 7709174535
Update .bashrc 2019-09-12 07:42:05 +02:00
Tomas-M 73d605d9ad
PXE: Use first route IP if multiple routes are found 2019-07-31 07:53:07 +02:00
Tomas Matejicek 72de891a3d add ^M to line ends 2019-07-26 21:23:38 +02:00
Tomas-M 05af29f8d1
Exit if vmlinuz cannot be copied 2019-07-26 21:15:25 +02:00
Tomas-M 93cbaf8c67
Set setuid bit on xorg binary, so it can be started by guest user 2019-07-25 20:03:38 +02:00
Tomas-M 8be589217e
Update build 2019-07-25 20:01:40 +02:00
TomasM 5a06b74174 Disable screen blanking on console and X 2019-07-02 08:29:16 +00:00
Tobias Pape 6edbe53252 Post-Build USB installation (#65)
There were no hints for the installation on a usb stick, i think it would be good to add something.
2019-06-30 06:22:21 +02:00
TomasM 1257303ef3 add shadow 2019-06-27 14:40:31 +00:00
TomasM e365ab8859 Added 'start here' floating text on startup 2019-06-27 09:15:08 +00:00
Tomas-M 41f195da50
Update xlunch version 2019-06-27 00:34:32 +02:00
TomasM 809dc08543 simplify 2019-06-26 10:32:39 +00:00
samunders-core 5e288baafe decrease tftp-based PXE boot time to ~ 1/3rd (#72)
* decrease tftp-based PXE boot time to ~ 1/3rd

* decrease code amount by reusing tftp_mget function

* report parallel tftp download progress

even when seemingly out-of-order
2019-06-26 07:33:07 +02:00
Tomas-M 0548b30e81
Update xlunch version 2019-06-25 23:30:47 +02:00
TomasM 8852a1062d Revert "Desktop icons"
This reverts commit 0d9256ee6a.
2019-06-25 21:27:40 +00:00
TomasM 95656a4eff Revert "icons"
This reverts commit afe634c46a.
2019-06-25 21:27:28 +00:00
TomasM afe634c46a icons 2019-06-25 20:40:56 +00:00
TomasM 0d9256ee6a Desktop icons 2019-06-25 20:20:32 +00:00
Tomas-M e38da35316
Xterm select to clipboard 2019-06-25 16:11:06 +02:00
Tomas-M 0e4c7bf8a3
Disable apparmor by default 2019-06-19 13:11:01 +02:00
TomasM 8432a942e9 exclude compton shadow for xlunch 2019-05-08 18:26:54 +00:00
TomasM c7055b1ad1 add systemd entries to connect wifi after resume 2019-05-08 09:36:53 +00:00
TomasM 4f813d4e87 Add nvme driver to initrd 2019-04-28 12:24:52 +00:00
TomasM a5e44dcc89 upgrade to newest xlunch version 2019-04-28 07:20:12 +00:00
TomasM d27460d958 add support to exclude existing modules from iso generation (actually any path) 2019-02-05 08:33:00 +00:00
TomasM 33cf295438 typo fix, thanks to Adam Nave 2019-02-05 07:52:38 +00:00
TomasM ab98b4b526 comment 2019-02-05 07:52:19 +00:00
TomasM d877af9e8b cleanup code 2019-01-29 14:00:55 +00:00
TomasM 718a39ccc3 open pcmanfm in new window 2019-01-29 13:59:45 +00:00
TomasM 05df6761f5 update bookmarks 2019-01-29 13:31:36 +00:00
Tomas-M 81f424db2f
Add pm-utils 2019-01-29 13:03:14 +01:00
TomasM 4cbed3fa34 Merge branch 'master' of https://github.com/Tomas-M/linux-live 2019-01-29 11:52:06 +00:00
TomasM 76e0c973c0 improve squashfs compression 2019-01-29 11:51:40 +00:00
Tomas-M e84f3852f0
Add usb-modeswitch 2019-01-29 12:37:08 +01:00
TomasM ca41faea5b try with apt 2019-01-29 11:23:33 +00:00
TomasM b137deed92 nolisten tcp for x 2019-01-29 11:22:21 +00:00
TomasM cb7ecf8b96 Start X without authentication and open pcmanfm when directory is mounted 2019-01-29 11:13:13 +00:00
TomasM 9cb6a19582 copy activated module to ram only if it is on aufs 2019-01-29 10:58:47 +00:00
TomasM 52c9f07ff4 bugfix msg text 2019-01-25 21:33:25 +00:00
TomasM abcc1a888d add hosts file with 'slax' hostname 2019-01-19 07:36:47 +00:00
TomasM 77907d4abe noautomount 2019-01-02 17:07:35 +00:00
TomasM 32f35a745d add explicitly all video drivers to xorg install 2018-12-28 17:07:27 +00:00
TomasM bfba8e64fe update to newest xlunch version 2018-12-23 10:30:46 +00:00
Tomas-M 6df62e20b2
proper dir in comment 2018-12-19 00:12:00 +01:00
TomasM 78661a48f9 Automount drives in Slax 2018-12-18 16:24:34 +00:00
TomasM d775cf882f add dvd+rw-tools 2018-12-18 09:45:57 +00:00
TomasM 6b463c19c5 fix resolution change when multiple displays are connected 2018-12-18 09:43:44 +00:00
TomasM ef233a3d45 fix starting .desktop apps with multiple Exec= entries 2018-12-18 09:37:47 +00:00
TomasM d65b4213dc bugfix 2018-11-26 15:58:18 +00:00
TomasM 1b09965e05 add xarchiver desktop file to rename icon title to Archiver 2018-11-26 15:05:02 +00:00
TomasM 6669a3cb04 Start xorg on tty7, add tty info to /etc/issue 2018-11-25 19:23:21 +00:00
TomasM 4e28ff7530 bugfix 2018-11-23 16:03:23 +00:00
TomasM 91058aaafc disable starting X if kernel commandline contains 'text' 2018-11-23 16:01:24 +00:00
TomasM c186696b93 smarter recognition if app requires terminal or not 2018-11-23 15:48:29 +00:00
TomasM 0cb17f9c67 add ntpdate to slax 2018-11-23 14:42:11 +00:00
TomasM 9d0477876d Update to newest xlunch version supporting scrollbar indicator 2018-11-23 14:37:45 +00:00
TomasM da623a0390 add b43 firmware to slax 2018-11-23 13:49:42 +00:00
TomasM 22f2493769 Add timezone settings to set UTC 2018-11-23 13:34:39 +00:00
TomasM 1e76881664 added rmsbdir to erase sb directory 2018-11-23 07:52:37 -05:00
TomasM af5288c7af force erasing source directory even if it was not mounted 2018-11-23 07:50:10 -05:00
TomasM 15c130f76a fix 2018-11-23 07:15:05 -05:00
TomasM 7cd51df455 fix 2018-11-23 07:11:24 -05:00
TomasM a396c0f5d0 Support genslaxiso even if toram was used 2018-11-23 07:06:29 -05:00
TomasM 868d1aac34 genslaxiso script 2018-11-23 06:57:18 -05:00
TomasM 3149f63a99 ... 2018-11-23 06:04:59 -05:00
TomasM edb710c1b3 reimplemented dir2sb and sb2dir to act as 'conversion' utility 2018-11-23 04:05:44 -05:00
TomasM 5a090f6ac4 Provide Gateway address in DHCP response for PXE clients, so they can use internet 2018-11-22 06:13:30 -05:00
TomasM 263216ab42 update issue 2018-11-16 16:35:21 -05:00
TomasM 32f645280c do it even differently 2018-11-16 15:49:19 -05:00
TomasM 19320ddaa3 do it differently 2018-11-16 15:21:33 -05:00
TomasM 78abfa1fd4 disable dnsmasq daemon by default 2018-11-16 13:28:38 -05:00
TomasM a015d67205 add depmod 2018-11-16 13:06:40 -05:00
TomasM ad1aa1c300 Set wallpaper to fullscreen since xlunch does that too 2018-11-15 14:36:43 -05:00
TomasM 1d96e84ada Improve app launcher 2018-11-15 14:28:27 -05:00
TomasM 879212b57b use newest xlunch version 2018-11-11 10:10:20 -05:00
TomasM 3fd5c6b4de info msg for user when starting pxe server 2018-10-11 14:35:15 -05:00
TomasM 62e4ef0ffd changelog 2018-10-11 04:51:31 -05:00
TomasM 7b5c400864 add dnsmasq to slax 2018-10-11 04:44:24 -05:00
TomasM 7c102af221 add pxe script to Slax so user can start PXE server with simple 'pxe' command 2018-10-11 04:42:40 -05:00
TomasM 1e3fdc1a8b bugfix - properly handle relative path for target filename in current directory 2018-10-11 04:32:09 -05:00
TomasM 8971fdb6ca add tools to manipulate initramfs images 2018-10-11 04:27:19 -05:00
TomasM 3eca7a4f07 bugfix - send info messages during PXE boot to stderr 2018-10-11 04:10:28 -05:00
TomasM 56399ef6b9 disable chromium cache by default 2018-09-20 04:22:20 -05:00
TomasM 7f98976f9d fix chromium launcher from menu 2018-07-20 15:27:24 -05:00
TomasM d323e53782 update xlunch 2018-07-20 15:03:24 -05:00
TomasM 25ba737f63 add abouttxt 2018-03-26 06:27:46 -04:00
TomasM a662e1b35e add lxtask 2018-03-25 04:36:16 -04:00
TomasM e38a548377 remove explicit apt update 2018-03-24 19:07:30 -04:00
TomasM 4655beb5d5 chromium build fixes 2018-03-24 19:05:03 -04:00
TomasM 708c8be176 fix duplicite icons 2018-03-24 18:53:09 -04:00
TomasM 32d24f6e63 add votecoin dependencies 2018-03-24 18:35:44 -04:00
TomasM 8bf62ad5c6 order 2018-03-24 18:22:39 -04:00
TomasM 61a4adfbab reorder xlunch entries 2018-03-24 18:20:40 -04:00
TomasM c08530d26a Include chromium stub in desktop module 2018-03-24 17:53:10 -04:00
TomasM 7d986692ce add chromium as liveapp too 2018-03-24 17:27:46 -04:00
TomasM f3a44517f9 bugfix config file for vlc 2018-03-24 16:35:36 -04:00
TomasM 2aae7d3330 vlc postinstall 2018-03-24 15:33:41 -04:00
TomasM 55b35b4276 Support autoinstalled applications 2018-03-24 14:52:59 -04:00
TomasM 6a64a5914d add gtk dialog 2018-03-24 10:37:01 -04:00
TomasM c28af0a10d add src to sources list 2018-03-24 09:10:25 -04:00
TomasM f2010c0714 add gconf 2018-03-22 17:05:20 -04:00
TomasM ed2d6e13ec use feh to display images 2018-03-22 16:05:02 -04:00
TomasM ddca39f917 rename leafpad icon 2018-03-22 12:32:51 -04:00
TomasM f5de004395 fix forward slashes 2018-03-22 12:32:12 -04:00
TomasM bf2c73bb0f file asociations support, thanks to Jeremy Suntheimer 2018-03-22 09:47:27 -04:00
TomasM 8c7fa04537 updates 2018-03-22 09:37:10 -04:00
TomasM 68c10a0bfa fix logout margin 2018-03-22 09:12:03 -04:00
TomasM 0b31b80c36 add xarchiver 2018-03-21 05:09:45 -04:00
TomasM ba37ee2833 autoinstall 2018-03-21 04:28:07 -04:00
TomasM 10327c8c1c add cbatticon 2018-03-21 04:19:30 -04:00
TomasM a19ebe6b56 add usr/games to path 2018-03-21 03:35:55 -04:00
TomasM b1ccfb0fce do not add partitions with unknown filesystems to fstab 2018-03-21 03:30:29 -04:00
TomasM c153975526 add volumeicon hotkeys 2018-03-21 03:27:09 -04:00
TomasM 82a84bd22c xlunch icons top align 2018-03-21 03:23:15 -04:00
TomasM 6a917e8d9d xlunch update, cleanups 2018-03-21 02:31:35 -04:00
Jeremy Suntheimer 761edab4ee Formatting and hash-bangs (#40)
* Formatting and hash-bangs
* Fixed missing slash
2018-01-01 22:18:47 +01:00
TomasM 739c96d096 add dri xorg packages 2017-12-30 13:22:35 -05:00
TomasM 14e8bf3b40 update xlunch version 2017-12-30 13:16:49 -05:00
TomasM 1c16b518ea make default leastmargin a bit smaller so it fits three rows of icons in 1024x768 screens 2017-12-30 12:00:58 -05:00
TomasM 104a7384a1 exclude wicd-manager from terminal-based apps in xlunch 2017-12-24 06:56:57 -05:00
TomasM 3a3c5c867a refresh wicd config each time 2017-12-24 06:30:01 -05:00
TomasM 5e3e15e959 always show wired interface 2017-12-24 05:16:09 -05:00
TomasM 4d06906e95 remove detected devices from wicd config so it can be autodetected for users 2017-12-24 05:12:01 -05:00
TomasM 2f5f18b47c do not use this 2017-12-24 04:52:25 -05:00
TomasM f868d18dc1 auto mount plugged disks in slax 2017-12-24 03:27:37 -05:00
Tomas-M 6532e6f566
Try to copy extlinux to .exe if it is not executable 2017-12-19 17:52:24 +01:00
Tomas-M 0682d53c1f
Update apt sources 2017-12-17 21:37:34 +01:00
TomasM 73b1100fbc do not use automount for copy2ram since users expect the boot device being unmounted 2017-12-17 08:29:34 -05:00
TomasM 3599b99ad2 abandon using sparse files (for persistent changes) in favor of DynFileFS even on NTFS partitions 2017-12-17 08:21:55 -05:00
TomasM 912e6f8f5f add ntfs-3g package to slax install, so ntfs can be mounted on debian startup 2017-12-17 08:00:30 -05:00
TomasM c5eabd4e3c increase mount wait timeout to 10 seconds 2017-12-17 07:53:38 -05:00
TomasM add1fbd465 simplify filesystem handling 2017-12-17 07:51:01 -05:00
TomasM 30efd94175 fix filesystem name in fstab 2017-12-17 07:42:32 -05:00
TomasM da725ee880 do not add zram disks to fstab 2017-12-17 07:39:34 -05:00
TomasM b407aed085 add nofail options to fstab entries, skip adding boot device there
(since in most cases it's going to be NTFS and it wouldn't mount it twice anyway)
2017-12-16 12:43:02 -05:00
478 changed files with 5532 additions and 258 deletions

4
README
View File

@ -43,6 +43,10 @@ Note:
- it will create ISO and TAR files for you in /tmp - it will create ISO and TAR files for you in /tmp
- make sure you have enough free space in /tmp to handle it - make sure you have enough free space in /tmp to handle it
* If you want to use the Live Kit on a USB you have to either
- use Windows to execute the bootinst.bat file in the $NAME/boot folder
- or use Linux to execute the shellscript bootinst.sh in the $NAME/boot folder.
* You will need the following packages to be installed: * You will need the following packages to be installed:
- squashfs-tools - squashfs-tools
- genisoimage or mkisofs - genisoimage or mkisofs

View File

@ -0,0 +1,10 @@
\l
_ ____ _____
| | / __ \\ / ____|
__| |_ __ __ _| | | | (___
/ _` | '_ \\ / _` | | | |\\___ \\
| (_| | | | | (_| | |__| |____) |
\\__,_|_| |_|\\__,_|\\____/|_____/
powered by Briq

View File

@ -0,0 +1,58 @@
#!/bin/bash
# Author: Tomas M. <http://www.slax.org/>
usage()
{
echo ""
echo "Convert directory to .sb compressed module"
echo "Usage: $0 [source_directory.sb] [[target_file.sb]]"
echo " If source_directory does not have .sb suffix and it is not 'squashfs-root',"
echo " then the source_directory itself is included in the module and"
echo " then the target_file.sb parameter is required."
echo " If target_file.sb is not specified, the source_directory is erased"
echo " and replaced by the newly generated module file."
}
P1="$(readlink -f "$1")"
P2="$(readlink -f "$2")"
if [ "$P1" = "$P2" ]; then
P2=""
fi
SB=$(echo "$P1" | grep -o "[.]sb/*\$")
if [ "$(echo "$P1" | grep -o "/squashfs-root/*\$")" != "" ]; then
SB="true"
fi
if [ "$SB" = "" ]; then
KEEP="-keep-as-directory"
if [ "$P2" = "" ]; then
usage
exit 1
fi
else
KEEP=""
fi
if [ ! -d "$P1" ]; then
echo "Not a directory: $P1" >&2
exit 2
fi
if [ "$P2" = "" ]; then
TARGET="$P1".sb
while [ -e "$TARGET" ]; do TARGET="$TARGET"x; done
mksquashfs "$P1" "$TARGET" -comp xz -b 1024K -always-use-fragments $KEEP >/dev/null || exit 3
umount "$P1" 2>/dev/null
rm -Rf "$P1"
mv "$TARGET" "$P1"
else
if [ -e "$P2" ]; then
echo "Target exists: $P2" >&2
exit 4
fi
mksquashfs "$P1" "$P2" -comp xz -b 1024K -always-use-fragments $KEEP >/dev/null
fi

View File

@ -0,0 +1,32 @@
#! /bin/bash --
# Aggrega file di pacchetti installati o aggiornati con Pacman
# dall'ultimo avvio di una distribuzione linux-live
# (cfr. https://www.linux-live.org/ ) senza persistenza attivata,
# creando un unico bundle .sb
# I file vengono letti dalla directory changes e da essa filtrati solo
# quelli appartenenti ai pacchetti di pacman.
#
# Autore: Guido Longoni <guidolongoni@gmail.com>
IFS=$'\n'
OUTLST="/tmp/added_files_$$.lst"
CACHEDIR=$(sed -n -e '/^[[:space:]]*CacheDir/s|^[^=]*=[[:space:]]*||gp' -e 's|[[:space:]]*$||g' /etc/pacman.conf | head -n1)
OUTDIR="/tmp/sb_$$"
OUTFILE="$OUTDIR".sb
CHGDIR=$(realpath $(mount | sed -n -e '/squashfs/s|.* on \([^ ]*\)/.*|\1|gp' | head -n1)/../changes)
mkdir -p '/tmp'
mkdir -p "$OUTDIR"
rm -rf "$OUTLST"
touch "$OUTLST"
for i in $(find "$CACHEDIR" -iname '*.pkg.tar.xz'); do
tar t -f $i >> "$OUTLST" 2>/dev/null
done
sort -u "$OUTLST" | grep -v '^\.' > "$OUTLST".tmp
mv "$OUTLST".tmp "$OUTLST"
rsync -av --old-d --files-from="$OUTLST" "$CHGDIR" "$OUTDIR"
dir2sb "$OUTDIR" "$OUTFILE"
rm -rf "$OUTDIR"
rm -rf "$OUTLST"

View File

@ -0,0 +1,86 @@
#!/bin/bash
# Rebuild initial ramdisk with full network drivers,
# start DHCP and TFTP server in order to provide PXE service
#
# Author: Tomas M <www.slax.org>
LIVE=/run/initramfs
FTPROOT=/var/state/dnsmasq/root
# find out our own IP address. If more interfaces are available, use the first one
IP="$(hostname -I | cut -d " " -f 1)"
GW=$(ip route show | grep default | grep -o "via.*" | head -n 1 | cut -d " " -f 2)
# if no IP is assigned to this computer, setup private address randomly
if [ "$IP" = "" ]; then
killall dhclient 2>/dev/null
IP="10."$(($RANDOM/130+1))"."$(($RANDOM/130+1))".1"
ifconfig $(ls -1 /sys/class/net | egrep -v '^lo$' | sort | head -n 1) $IP netmask 255.255.255.0
fi
# if gateway is not recognized, lets make our IP a gateway and enable forwarding
if [ "$GW" = "" ]; then
GW="$IP"
echo 1 > /proc/sys/net/ipv4/conf/all/forwarding
echo 1 > /proc/sys/net/ipv6/conf/all/forwarding
fi
echo Starting PXE server on $IP ...
# calculate C class range
RANGE=$(echo $IP | cut -d "." -f 1-3)
# make sure dnsmasq can be started
killall dnsmasq 2>/dev/null
killall busybox 2>/dev/null
rm -Rf $FTPROOT 2>/dev/null
mkdir -p $FTPROOT/{pxelinux.cfg,tmp}/
# create root filesystem for ftfp
cd $LIVE
( find . -print | grep -v "memory"
cd /
find /lib/modules/$(uname -r)/kernel/drivers/net | grep -v wireless
) | cpio -pvd $FTPROOT/tmp 2>/dev/null
cp /lib/modules/$(uname -r)/modules.* $FTPROOT/tmp/lib/modules/$(uname -r)
depmod -b $FTPROOT/tmp
rm $FTPROOT/tmp/lib/initramfs_escaped
# pack root in initramfs
cd $FTPROOT/tmp
find . -print | cpio -o -H newc 2>/dev/null | gzip -f --fast >../initrfs.img
cd ..
rm -Rf tmp
# link files here since copying is not necessary
ln -s $(find $LIVE/memory/{data,iso,toram} 2>/dev/null | grep vmlinuz | head -n 1) $FTPROOT/vmlinuz
ln -s $(find $LIVE/memory/{data,iso,toram} 2>/dev/null | grep pxelinux.0 | head -n 1) $FTPROOT/pxelinux.0
ln -s $(find $LIVE/memory/{data,iso,toram} 2>/dev/null | grep ldlinux.c32 | head -n 1) $FTPROOT/ldlinux.c32
find $LIVE/memory/{data,iso,toram} 2>/dev/null | egrep "[.]sb\$" | sort -n | while read LINE; do
BAS="$(basename "$LINE")"
ln -s $LINE "$FTPROOT/$BAS"
echo $BAS >> "$FTPROOT/PXEFILELIST"
done
echo "This is <a href=http://www.slax.org/>Slax</a> PXE data server. PXE clients will download <a href=PXEFILELIST>file list</a>" > "$FTPROOT/index.html"
# default pxelinux configuration. Keep xmode selection for clients the same like for the server
echo "
PROMPT 0
DEFAULT slax
LABEL slax
KERNEL /vmlinuz
IPAPPEND 1
APPEND initrd=/initrfs.img load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 $(cat /proc/cmdline | egrep -o 'slax.flags=[^ ]+' | sed -r 's:[,=]pxe::' | sed -r 's:[,=]toram::')
" > $FTPROOT/pxelinux.cfg/default
# start the DHCP server and TFTP server
dnsmasq --enable-tftp --tftp-root=/var/state/dnsmasq/root \
--dhcp-boot=pxelinux.0,"$IP",$IP \
--dhcp-option=3,$GW \
--dhcp-range=$RANGE.2,$RANGE.250,infinite --log-dhcp
# start HTTP server at port 7529 (that are the numbers you type on your phone to write 'slax')
busybox httpd -p 7529 -h /var/state/dnsmasq/root

View File

@ -0,0 +1,17 @@
#!/bin/bash
# Author: Tomas M. <http://www.slax.org/>
if [ ! -e "$1" ]; then
echo
echo "Erase module directory created by sb2dir"
echo "Usage: $0 [source_directory.sb]"
exit 1
fi
if [ ! -d "$1" ]; then
echo "Directory does not exist: $1" >&2
exit
fi
umount "$1" 2>/dev/null
rm -Rf "$1"

View File

@ -40,7 +40,7 @@ done
cd $CWD cd $CWD
mksquashfs $TMP "$1" -comp xz -b 512k -noappend mksquashfs $TMP "$1" -comp xz -b 1024K -always-use-fragments -noappend
umount $TMP umount $TMP
rmdir $TMP rmdir $TMP

View File

@ -0,0 +1,29 @@
#!/bin/bash
if [ "$1" = "rm" ]; then
shift
rmsbdir "$@"
exit $?
fi
if [ "$1" = "rmdir" ]; then
shift
rmsbdir "$@"
exit $?
fi
if [ "$1" = "conv" ]; then
shift
fi
if [ ! -r "$1" ]; then
echo File not found "$1"
exit 1
fi
if [ -d "$1" ]; then
dir2sb "$@"
exit $?
fi
sb2dir "$@"

View File

@ -0,0 +1,33 @@
#!/bin/bash
# Author: Tomas M. <http://www.slax.org/>
if [ ! -e "$1" ]; then
echo
echo "Convert .sb compressed module into directory with the same name"
echo "Usage: $0 [source_file.sb] [[optional output_directory]]"
echo " If the output_directory is specified, it must exist"
echo " If the output_directory is not specified, the name source_file.sb"
echo " is used and the directory is overmounted with tmpfs"
exit 1
fi
if [ ! -r "$1" ]; then
echo "File does not exist: $1" >&2
exit
fi
if [ "$2" = "" ]; then
SOURCE="$1".x
while [ -e "$SOURCE" ]; do SOURCE="$SOURCE"x; done
mv "$1" "$SOURCE" || exit
mkdir "$1"
mount -t tmpfs tmpfs "$1"
unsquashfs -f -dest "$1" "$SOURCE" >/dev/null || exit
rm "$SOURCE"
else
if [ ! -d "$2" ]; then
echo "Directory does not exist: $2" >&2
exit
fi
unsquashfs -f -dest "$2" "$1" >/dev/null
fi

View File

@ -8,6 +8,7 @@
LIVE=/run/initramfs/memory LIVE=/run/initramfs/memory
RAMSTORE=$LIVE/modules
# Print error message and exit # Print error message and exit
# $1 = error message # $1 = error message
@ -19,26 +20,6 @@ die()
} }
# returns writable directory outside of AUFS root
# where Slax Bundle can be safely stored
#
get_bundle_storage_dir()
{
local TGT
TGT=$LIVE/data/slax/modules
mkdir -p $TGT 2>/dev/null
touch $TGT/.empty 2>/dev/null && rm $TGT/.empty 2>/dev/null
if [ $? -ne 0 ]; then
TGT=$LIVE/modules
mkdir -p $TGT
fi
echo $TGT
}
print_branches() print_branches()
{ {
local SI BUNDLE LOOP CWD local SI BUNDLE LOOP CWD
@ -70,23 +51,19 @@ activate()
# check if file exists # check if file exists
if [ ! -r "$SB" ]; then if [ ! -r "$SB" ]; then
usage "file not found $SB" usage
fi die "file not found $SB"
# copy the module to storage dir so it can be activated from there
TGT="$(get_bundle_storage_dir)"
if [ -r $TGT/$BAS ]; then
die "File exists: $TGT/$BAS"
fi fi
# check if the file is part of aufs union, if yes we need to copy it outside
if df "$SB" | cut -d " " -f 1 | grep -q aufs; then
TGT="$RAMSTORE"
mkdir -p "$TGT"
if [ -r $TGT/$BAS ]; then die "File exists: $TGT/$BAS"; fi
cp -n "$SB" "$TGT/$BAS" cp -n "$SB" "$TGT/$BAS"
if [ $? -ne 0 ]; then die "Error copying file to $TGT/$BAS. Not enough free RAM or disk space?"; fi
if [ $? -ne 0 ]; then
die "Error copying file to $TGT/$BAS. Not enough space?"
fi
SB="$TGT/$BAS" SB="$TGT/$BAS"
fi
# check if this particular file is already activated # check if this particular file is already activated
if print_branches | cut -f 2 | fgrep -q "$SB"; then if print_branches | cut -f 2 | fgrep -q "$SB"; then
@ -161,16 +138,26 @@ deactivate()
# free the loop device manually since umount fails to do that if the bundle was activated on boot # free the loop device manually since umount fails to do that if the bundle was activated on boot
losetup -d "$LOOP" 2>/dev/null losetup -d "$LOOP" 2>/dev/null
# remove the .sb file, but keep it if deactivate was issued on full sb real path if echo "$LOOPFILE" | grep -q $RAMSTORE; then
if [ "$(realpath "$1")" != "$(realpath "$LOOPFILE")" ]; then rm -f $LOOPFILE
rm -f "$LOOPFILE" 2>/dev/null
fi fi
echo "Slax Bundle deactivated: $SB" echo "Slax Bundle deactivated: $SB"
} }
usage()
{
echo "Usage: $0 [ activate | deactivate | list ] [ file.sb ]" >&2
if [ "$1" != "" ]; then
echo "$1" >&2
fi
}
if [ "$1" = "" ]; then if [ "$1" = "" ]; then
die "Usage: $0 [ activate | deactivate | list ] [ file.sb ]" usage
die
fi fi
if [ "$1" = "activate" ]; then if [ "$1" = "activate" ]; then

View File

@ -1,12 +0,0 @@
apt-get update
apt-get install --yes --no-install-recommends \
firmware-linux-free firmware-linux-nonfree \
firmware-atheros firmware-iwlwifi firmware-zd1211 firmware-realtek \
firmware-bnx2 firmware-brcm80211 firmware-cavium \
firmware-ipw2x00 firmware-libertas \
firmware-ti-connectivity
. ../../cleanup
savechanges /01-firmware.sb

View File

@ -1,6 +0,0 @@
[Unit]
Description=X-Window
After=systemd-user-sessions.service
[Service]
ExecStart=/bin/su --login -c /usr/bin/startx

View File

@ -1,15 +0,0 @@
#!/bin/bash
SIGNAL=~/.fehbg
rm -f $SIGNAL
OUTPUT=$(xrandr 2>/dev/null | grep 'connected' | cut -d " " -f 1)
MODE=$1
xrandr --output $OUTPUT --mode $MODE
while [ -e $SIGNAL ]; do
sleep 0.1
done
killall -SIGUSR1 compton

View File

@ -1,5 +0,0 @@
[Desktop Entry]
Name=Text editor
Exec=leafpad
Icon=editor
Terminal=false

View File

@ -1,5 +0,0 @@
[Desktop Entry]
Icon=system-file-manager
Name=File Manager
Exec=pcmanfm
Terminal=false

View File

@ -1,18 +0,0 @@
apt-get update
apt-get install --yes --no-install-recommends chromium
. ../../cleanup
rm -Rf /usr/share/icons/gnome/256x256
mv /usr/bin/chromium /usr/bin/chromium-launcher
(cd rootcopy && cp --parents -afr * /)
chown guest.users /home/guest
chown -R guest.users /home/guest/.config
rm -Rf /squashfs-root/root/.fluxbox
rm -f /squashfs-root/root/.gtk-bookmarks
savechanges /05-chromium.sb

View File

@ -1,3 +0,0 @@
#!/bin/bash
xhost + >/dev/null 2>/dev/null
su -c "chromium-launcher "$@"" guest

View File

@ -1,5 +0,0 @@
[Desktop Entry]
Name=Web Browser
Exec=chromium
Terminal=false
Icon=chromium

View File

@ -1,25 +0,0 @@
#!/bin/bash
if [ "$2" = "" ]; then
echo "Usage: $0 [source_directory] [target_file.sb] [ -d ]"
exit 1
fi
if [ ! -d "$1" ]; then
echo "Not a directory: $1"
exit 2
fi
if [ -e "$2" ]; then
echo "Target exists: $2"
exit 3
fi
if [ "$3" = "-d" ]; then
KEEP="-keep-as-directory"
else
KEEP=""
fi
mksquashfs "$1" "$2" -comp xz -b 512K $KEEP

View File

@ -1,13 +0,0 @@
#!/bin/bash
# convert .sb compressed Slax Bundle file into directory tree
# Author: Tomas M. <http://www.slax.org/>
#
if [ ! -d "$2" ]; then
echo
echo "Convert .sb compressed module into directory tree"
echo "usage: $0 source_file.sb existing_output_directory"
exit 1
fi
unsquashfs -f -dest "$2" "$1" >/dev/null

View File

@ -1,3 +1,6 @@
For more updated changelog and todo, visit
https://www.slax.org/next.php
TODO: TODO:
make persistent changes default when booting from writable media make persistent changes default when booting from writable media

View File

@ -94,7 +94,7 @@ if [ "$(fdisk -l "$DEV" | fgrep "$DEV" | fgrep "*")" != "" ]; then
echo "" echo ""
echo "Partition $PART seems to be located on a physical disk," echo "Partition $PART seems to be located on a physical disk,"
echo "which is already bootable. If you continue, your drive $DEV" echo "which is already bootable. If you continue, your drive $DEV"
echo "will boot only Linux by default." echo "will boot only Slax by default."
echo "Press [Enter] to continue, or [Ctrl+C] to abort..." echo "Press [Enter] to continue, or [Ctrl+C] to abort..."
read junk read junk
fi fi
@ -107,8 +107,16 @@ if [ ! -x ./$EXTLINUX ]; then
# extlinux is not executable. There are two possible reasons: # extlinux is not executable. There are two possible reasons:
# either the fs is mounted with noexec, or file perms are wrong. # either the fs is mounted with noexec, or file perms are wrong.
# Try to fix both, no fail on error yet # Try to fix both, no fail on error yet
chmod a+x ./$EXTLINUX
mount -o remount,exec $DEV mount -o remount,exec $DEV
chmod a+x ./$EXTLINUX
fi
if [ ! -x ./$EXTLINUX ]; then
# extlinux is still not executable. As a last try, copy it to .exe
# because the partition may be mounted with showexec option, from which
# we probably can't escape by remount
cp -f ./$EXTLINUX ./extlinux.exe
EXTLINUX=extlinux.exe
fi fi
# install syslinux bootloader # install syslinux bootloader

View File

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

View File

@ -29,15 +29,14 @@ MENU TABMSG [F1] help [Ta
LABEL default LABEL default
MENU LABEL Run Slax (Persistent changes) MENU LABEL Run Slax (Persistent changes)
KERNEL /slax/boot/vmlinuz KERNEL /slax/boot/vmlinuz
APPEND vga=normal initrd=/slax/boot/initrfs.img load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 slax.flags=perch,automount APPEND vga=normal initrd=/slax/boot/initrfs.img load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 consoleblank=0 slax.flags=perch,automount
LABEL perch LABEL perch
MENU LABEL Run Slax (Fresh start) MENU LABEL Run Slax (Fresh start)
KERNEL /slax/boot/vmlinuz KERNEL /slax/boot/vmlinuz
APPEND vga=normal initrd=/slax/boot/initrfs.img load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 slax.flags=automount APPEND vga=normal initrd=/slax/boot/initrfs.img load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 consoleblank=0 slax.flags=automount
LABEL toram LABEL toram
MENU LABEL Run Slax (Copy to RAM) MENU LABEL Run Slax (Copy to RAM)
KERNEL /slax/boot/vmlinuz KERNEL /slax/boot/vmlinuz
APPEND vga=normal initrd=/slax/boot/initrfs.img load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 slax.flags=toram,automount APPEND vga=normal initrd=/slax/boot/initrfs.img load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 consoleblank=0 slax.flags=toram

View File

Before

Width:  |  Height:  |  Size: 6.3 KiB

After

Width:  |  Height:  |  Size: 6.3 KiB

View File

@ -0,0 +1,34 @@
#!/bin/bash
THIS=$(dirname $(readlink -f $0))
sed -i -r 's/^LIVEKITNAME.*/LIVEKITNAME="slax"/' $THIS/../../config
sed -i -r 's/^NETWORK.*/NETWORK=true/' $THIS/../../config
. ./copy
. ./install
. ./cleanup
. ./copy
# now run build script
SKIPINITRFS=true
cd ../../
. ./build
# setup initrd now, to include aufs
apt-get update
apt-get install aufs-dkms linux-headers-$(uname -r) --yes
cd initramfs
. ./initramfs_create
# unpack the sb archive and add aufs modules to /lib/modules
cd $LIVEKITDATA/$LIVEKITNAME
unsquashfs 01-core.$BEXT
cp -a /$LMK/kernel/fs/aufs squashfs-root/$LMK/kernel/fs
rm -f 01-core.$BEXT
mksquashfs squashfs-root 01-core.$BEXT -comp xz -b 1024K -always-use-fragments || exit
rm -Rf squashfs-root
mv -f $INITRAMFS.img $LIVEKITDATA/$LIVEKITNAME/boot/initrfs.img
cp -vf $THIS/bootfiles/* $LIVEKITDATA/$LIVEKITNAME/boot/

View File

@ -0,0 +1,91 @@
#!/bin/bash
rm -f /etc/fstab
rm -f /etc/mtab
rm -f /etc/apt/sources.list~
rm -Rf /etc/systemd/system/timers.target.wants
rm -f /etc/systemd/system/multi-user.target.wants/ssh.service
rm -f /etc/systemd/system/multi-user.target.wants/dnsmasq.service
rm -f /etc/ssh/ssh_host*
rm -f /var/backups/*
rm -f /var/cache/ldconfig/*
rm -f /var/cache/debconf/*
rm -f /var/cache/fontconfig/*
rm -f /var/lib/apt/extended_states
rm -f /var/lib/systemd/random-seed
rm -f /var/lib/apt/lists/deb.*
rm -Rf /root/.local/share/mc
rm -Rf /root/.cache
rm -f /root/.wget-hsts
rm -f /var/lib/dpkg/*-old
rm -f /var/log/*
rm -f /var/log/*/*
rm -f /var/log/*/*/*
rm -f /var/cache/apt/archives/*.deb
rm -f /var/cache/apt/*.bin
rm -f /var/cache/debconf/*-old
rm -f /var/lib/dhcp/dhclient.leases
rm -f /root/.bash_history
rm -f /root/.wget-hsts
rm -Rf /usr/share/doc/*
rm -Rf /usr/share/info/*
rm -f /usr/share/images/fluxbox/debian-squared.jpg
rm -Rf /usr/share/fluxbox/nls/??*
rm -Rf /usr/share/gnome/help
rm -Rf /usr/share/locale/??
rm -Rf /usr/share/locale/??_*
rm -Rf /usr/share/locale/??@*
rm -Rf /usr/share/locale/???
rm -Rf /usr/share/i18n/locales/*_*
rm -Rf /usr/share/man/??
rm -Rf /usr/share/man/*_*
rm -Rf /usr/share/icons/elementaryXubuntu-dark
rm -Rf /usr/share/icons/gnome/256x256
rm /usr/share/applications/compton.desktop
rm /usr/share/applications/debian-uxterm.desktop
rm /usr/share/applications/debian-xterm.desktop
rm /usr/share/applications/htop.desktop
rm /usr/share/applications/mc.desktop
rm /usr/share/applications/mcedit.desktop
rm /usr/share/applications/pcmanfm-desktop-pref.desktop
rm /usr/share/applications/python2.7.desktop
rm /usr/share/applications/python3.7.desktop
rm /usr/share/applications/vim.desktop
# Unzip gzipped files (man pages), so LZMA can compress 2times better.
# First we fix symlinks, then uncompress files
# $1 = search directory
uncompress_files()
{
local LINK LINE
find "$1" -type l -name "*.gz" | while read LINE; do
LINK="$(readlink "$LINE" | sed -r 's/.gz$//')"
FILE="$(echo "$LINE" | sed -r 's/.gz$//')"
ln -sfn "$LINK" "$FILE"
rm -f "$LINE"
done
find "$1" -type f -name "*.gz" | xargs -r gunzip
}
uncompress_files /etc/alternatives
uncompress_files /usr/share/man
# remove broken links
# $1 = search directory
remove_broken_links()
{
find "$1" -type l -exec test ! -e {} \; -print | xargs rm -vf
}
remove_broken_links /etc/alternatives
remove_broken_links /usr/share/man

View File

@ -0,0 +1,32 @@
#!/bin/bash
CURRENT="$(ls -1 /boot)"
apt-get update
apt-get dist-upgrade --yes
NEW="$(ls -1 /boot)"
if [ "$CURRENT" != "$NEW" ]; then
echo "It looks like your kernel has been upgraded."
echo "You should reboot and restart the build process."
exit
fi
# if kernel was upgraded, you may need to reboot
apt-get install --yes --no-install-recommends mc squashfs-tools genisoimage zip unzip psmisc net-tools \
alsa-utils man less xz-utils ca-certificates openssl acpid acpi-support-base powermgmt-base bzip2 gpart \
hdparm sdparm mdadm smartmontools dosfstools lsof htop gddrescue rsync netcat ssh gpm wireless-tools \
ntfs-3g rfkill file dnsmasq ntpdate dvd+rw-tools usb-modeswitch pm-utils wget
ln -sf bash /bin/sh
apt-get remove --yes vim* grub* debconf-i18n installation-report
CWD="$(pwd)"
cd /tmp
apt-get download acpi-support
dpkg -x acpi-support*.deb /tmp/acpisupport
cd /tmp/acpisupport
cp -aR * /
cd "$CWD"

View File

@ -0,0 +1,21 @@
#!/bin/bash
apt update
apt install --yes --no-install-recommends \
firmware-linux-free \
firmware-linux-nonfree \
firmware-atheros \
firmware-iwlwifi \
firmware-zd1211 \
firmware-realtek \
firmware-bnx2 \
firmware-brcm80211 \
firmware-cavium \
firmware-ipw2x00 \
firmware-libertas \
firmware-ti-connectivity \
firmware-b43-installer
. ../../cleanup
savechanges /01-firmware.sb

View File

@ -1,6 +1,22 @@
#!/bin/bash
apt-get update apt-get update
apt-get install --yes --no-install-recommends xserver-xorg xinit xterm blackbox libxcursor1 breeze-cursor-theme x11-utils wmctrl xdotool apt-get install --yes --no-install-recommends \
xserver-xorg xserver-xorg-video-all xserver-xorg-video-intel \
xinit \
xterm \
blackbox \
libxcursor1 \
breeze-cursor-theme \
x11-utils \
wmctrl \
xdotool \
libdrm-intel1 \
libgl1-mesa-dri \
libglu1-mesa
# Set setuid bit on xorg binary, so it can be started by guest user
chmod u+s /usr/lib/xorg/Xorg
# use only white cursors. There were some troubles if the other cursors # use only white cursors. There were some troubles if the other cursors
# was left behind, installing gtk apps reverted the cursor from white to gray, # was left behind, installing gtk apps reverted the cursor from white to gray,
@ -18,6 +34,9 @@ dpkg -x x11-xserver-utils*.deb /tmp/x11utils
cd /tmp/x11utils cd /tmp/x11utils
cp -aR * / cp -aR * /
update-alternatives --set x-terminal-emulator /usr/bin/xterm
. /tmp/cleanup . /tmp/cleanup
savechanges /02-xorg.sb savechanges /02-xorg.sb

View File

@ -26,3 +26,5 @@ Xft.hinting: true
Xft.hintstyle: hintfull Xft.hintstyle: hintfull
Xft.lcdfilter: lcdlegacy Xft.lcdfilter: lcdlegacy
Xft.rgba: rgb Xft.rgba: rgb
XTerm*selectToClipboard: true

View File

@ -0,0 +1,7 @@
[Unit]
Description=X-Window
ConditionKernelCommandLine=!text
After=systemd-user-sessions.service
[Service]
ExecStart=/bin/su --login -c "/usr/bin/startx -- :0 vt7 -ac -nolisten tcp"

View File

@ -8,11 +8,21 @@ VERSION=1.3.5
# first install stock version # first install stock version
apt-get update apt-get update
apt-get install --no-install-recommends --yes $NAME feh compton volumeicon-alsa murrine-themes scrot apt-get install --no-install-recommends --yes \
$NAME \
feh \
compton \
volumeicon-alsa \
murrine-themes \
libnotify4 \
scrot
. ../../cleanup . ../../cleanup
(cd rootcopy && cp --parents -afr * /) (cd rootcopy && cp --parents -afr * /)
chown guest.users /home/guest
chown -R guest.users /home/guest/.gtkrc-2.0 chown -R guest.users /home/guest/.gtkrc-2.0
chown -R guest.users /home/guest/.config
savechanges /$NAME-stock.sb savechanges /$NAME-stock.sb
@ -54,10 +64,10 @@ cp debian/$NAME/usr/bin/fluxbox /squashfs-root/usr/bin
# add xlunch from sources # add xlunch from sources
wget -O /tmp/xlunch.tar.gz https://github.com/Tomas-M/xlunch/archive/v3.2.5.tar.gz wget -O /tmp/xlunch.tar.gz https://github.com/Tomas-M/xlunch/archive/v4.5.3.tar.gz
cd /tmp cd /tmp
tar -xf xlunch.tar.gz tar -xf xlunch.tar.gz
cd xlunch-3.2.5 cd xlunch-4.5.3
make make
cp xlunch /squashfs-root/usr/bin cp xlunch /squashfs-root/usr/bin
cp extra/gentriesquick /squashfs-root/usr/bin/xlunch_genquick cp extra/gentriesquick /squashfs-root/usr/bin/xlunch_genquick
@ -73,4 +83,35 @@ apt-get install --yes libgtk2.0-dev
make make
cp systrayicon /squashfs-root/usr/bin cp systrayicon /squashfs-root/usr/bin
# add gtkdialog
wget -O /tmp/gtkdialog.tar.gz https://github.com/Tomas-M/GTKdialog/archive/master.tar.gz
cd /tmp
tar -xf gtkdialog.tar.gz
cd GTKdialog-master
make
cp gtkdialog /squashfs-root/usr/bin
# battery icon app
cd /tmp
wget https://github.com/valr/cbatticon/archive/1.6.7.tar.gz
tar -xf 1.6.7.tar.gz
cd cbatticon-1.6.7
cp -R /usr/include/glib-2.0/* /usr/include
cp -R /usr/include/gtk-2.0/* /usr/include
apt install --yes libnotify-dev
sed -i "s/WITH_GTK3 = 1/WITH_GTK3 = 0/" Makefile
CFLAGS="-O2 \
-I/usr/lib/x86_64-linux-gnu/glib-2.0/include/ \
-I/usr/lib/x86_64-linux-gnu/gtk-2.0/include/ \
-I/usr/include/gdk-pixbuf-2.0/ \
-I/usr/include/atk-1.0/ \
-I/usr/include/cairo \
-I/usr/include/pango-1.0 \
-I/usr/include/glib-2.0 \
-I/usr/include/gtk-2.0" \
make
cp cbatticon /squashfs-root/usr/bin
dir2sb /squashfs-root /03-desktop.sb dir2sb /squashfs-root /03-desktop.sb

View File

@ -8,9 +8,9 @@ onclick=xterm -e 'alsamixer'
theme=White Gnome theme=White Gnome
[Hotkeys] [Hotkeys]
up_enabled=false up_enabled=true
down_enabled=false down_enabled=true
mute_enabled=false mute_enabled=true
up=XF86AudioRaiseVolume up=XF86AudioRaiseVolume
down=XF86AudioLowerVolume down=XF86AudioLowerVolume
mute=XF86AudioMute mute=XF86AudioMute

View File

@ -0,0 +1,20 @@
[xarchiver]
preferred_format=0
confirm_deletion=true
sort_filename_content=false
store_output=false
icon_size=0
show_archive_comment=false
show_sidebar=false
show_location_bar=false
preferred_temp_dir=/tmp
allow_sub_dir=0
overwrite=false
full_path=true
touch=false
freshen=false
update=false
store_path=false
recurse=true
solid_archive=false
remove_files=false

View File

@ -3,6 +3,11 @@
[Layer] {2} [Layer] {2}
[end] [end]
[app] (name=gtkdialog)
[Position] (WINCENTER) {0 0}
[Layer] {2}
[end]
[app] (name=xlunch) [app] (name=xlunch)
[DECO] {NONE} [DECO] {NONE}
[IconHidden] {yes} [IconHidden] {yes}

View File

@ -1,10 +1,10 @@
[begin] (Desktop menu) [begin] (Desktop menu)
[exec] (Terminal) { fbstartupnotify && xterm -ls } [exec] (Terminal) { fbstartupnotify && xterm -ls }
[exec] (File Manager) { fbstartupnotify && pcmanfm } [exec] (File Manager) { fbstartupnotify && pcmanfm }
[exec] (Web Browser) { fbstartupnotify && chromium } [exec] (Web Browser) { fbstartupnotify && fbliveapp chromium }
[exec] (Text Editor) { fbstartupnotify && leafpad } [exec] (Text Editor) { fbstartupnotify && leafpad }
[exec] (Calculator) { fbstartupnotify && qalculate } [exec] (Calculator) { fbstartupnotify && qalculate }
[exec] (Network Manager) { fbstartupnotify && wicd-gtk --no-tray } [exec] (Network Manager) { fbstartupnotify && wicd-manager }
[exec] (Run) { fbappselect } [exec] (Run) { fbappselect }
[separator] [separator]
[workspaces] (Workspaces ...) [workspaces] (Workspaces ...)

View File

@ -13,13 +13,8 @@ xrdb -merge ~/.Xresources
# set keyboard layout # set keyboard layout
fbsetkb $(cat ~/.fluxbox/kblayout) fbsetkb $(cat ~/.fluxbox/kblayout)
# setup bookmarks # setup bookmarks for file manager
cat ~/.gtk-bookmarks | fgrep -v ///media/ | fgrep -v "file:/// /" | egrep -v '^$' > ~/.gtk-bookmarks.tmp 2>/dev/null gtk-bookmarks-update
ls -1 /media | while read LINE; do
echo "file:///media/$LINE $LINE" >> ~/.gtk-bookmarks.tmp
done
echo "file:/// /" >> ~/.gtk-bookmarks.tmp # add root
mv -f ~/.gtk-bookmarks.tmp ~/.gtk-bookmarks
# Share common directories with guest user. This is necessary # Share common directories with guest user. This is necessary
# because some apps like chromium must be running under guest # because some apps like chromium must be running under guest
@ -33,6 +28,10 @@ done
xsetroot -solid '#111111' xsetroot -solid '#111111'
xsetroot -xcf /usr/share/icons/breeze_cursors/cursors/watch 37 xsetroot -xcf /usr/share/icons/breeze_cursors/cursors/watch 37
# disable screen blanking
xset s off
xset -dpms
# volume icon in system tray. Can fail if no soundcard is detected # volume icon in system tray. Can fail if no soundcard is detected
volumeicon & volumeicon &
@ -73,7 +72,12 @@ rm -f $SIGNAL2 2>/dev/null
sleep 0.1 sleep 0.1
done done
touch $SIGNAL2 touch $SIGNAL2
exec compton --sw-opti -e 0.9 --fade-exclude 'role*="fluxbox-toolbar"' --opacity-rule '70:role*="fluxbox-toolbar"' --no-fading-destroyed-argb -D 5 -c -f -l -2 -t -2 -r 0 -o 1 -z --shadow-exclude 'bounding_shaped'
(sleep 1; (echo; sleep 10; echo :quit) | xlunch --window --xposition 20 --yposition -30 \
--width 195 --height 53 --noscroll --noprompt --backgroundcolor ffffff00 \
--multiple --desktop --button "/usr/share/fluxbox/styles/Slax/pixmaps/start-here.png;;0,0;fbappselect" & ) &
exec compton --sw-opti -e 0.9 --shadow-exclude 'class_g="xlunch-windowed"' --fade-exclude 'role*="fluxbox-toolbar"' --opacity-rule '70:role*="fluxbox-toolbar"' --no-fading-destroyed-argb -D 5 -c -f -l -2 -t -2 -r 0 -o 1 -z --shadow-exclude 'bounding_shaped'
) & ) &
# We want to run systrayicon only after the volumeicon is started # We want to run systrayicon only after the volumeicon is started

View File

@ -1,11 +1,11 @@
#!/bin/bash #!/bin/bash
COMMAND=$( COMMAND=$(
xlunch_genquick 64 | \ xlunch_genquick 64 --desktop | \
xlunch --scroll \ xlunch --border 7% --sideborder 10% --borderratio 100 --sideborderratio 50 \
--background /usr/share/wallpapers/slax_wallpaper.jpg --font DejaVuSans/11 \ --background /usr/share/wallpapers/slax_wallpaper.jpg --font DejaVuSans/11 \
--voidclickterminate --iconpadding 30 --textpadding 10 \ --voidclickterminate --iconpadding 40 --textpadding 10 \
--paddingswap --leastmargin 10 --hidemissing --iconsize 64 \ --leastmargin 6 --hidemissing --iconsize 64 \
--highlight /usr/share/icons/hicolor/128x128/apps/xlunch_highlight.png \ --highlight /usr/share/icons/hicolor/128x128/apps/xlunch_highlight.png \
--outputonly --outputonly
) )
@ -16,6 +16,12 @@ fi
fbstartupnotify fbstartupnotify
# if command is a .desktop file, parse it
if [[ "$COMMAND" =~ \.desktop ]]; then
NoTerm="$(cat "$COMMAND" | grep Terminal\\s*= | grep -i "Terminal\\s*=\\s*false")"
COMMAND="$(cat "$COMMAND" | grep Exec\\s*= | head -n 1 | sed -r s/.*=// | sed -r "s/%[^%]+//g")"
fi
cmd="$(echo $COMMAND | sed -r "s/\\s.*//")" cmd="$(echo $COMMAND | sed -r "s/\\s.*//")"
whi="$(which $cmd | head -n 1)" whi="$(which $cmd | head -n 1)"
Xdep=$(ldd $whi | grep libX11) Xdep=$(ldd $whi | grep libX11)
@ -26,7 +32,7 @@ if [ "$Ndep" != "" -o "$cmd" = "man" -o "$cmd" = "mc" ]; then
WAIT="" WAIT=""
fi fi
if [ "$Xdep" = "" -a "$cmd" != "chromium" -a "$cmd" != "wicd-gtk" ]; then if [ "$Xdep" = "" -a "$cmd" != "chromium" -a "$cmd" != "wicd-manager" -a "$cmd" != "fbliveapp" -a "$NoTerm" = "" ]; then
exec xterm -ls -e bash --login -c -- "echo $USER@$HOSTNAME:$PWD# '$COMMAND'; $COMMAND; $WAIT" exec xterm -ls -e bash --login -c -- "echo $USER@$HOSTNAME:$PWD# '$COMMAND'; $COMMAND; $WAIT"
else else
exec $COMMAND exec $COMMAND

View File

@ -0,0 +1,83 @@
#!/bin/bash
if [ "$1" = "votecoin" ]; then
NAME="VoteCoin Wallet"
ABOUT="VoteCoin Wallet is a crypto currency wallet,
forked from ZCash, which itslef forked from Bitcoin.
It supports fully anonymous transactions and voting.
Receive free 10 VOT coins for installing the wallet.
In the future, VoteCoin will be used for decision
funding in Slax."
TMP="/tmp/votecoin.tar.gz"
EXECUTABLE="/opt/VoteCoin Wallet-linux-x64/VoteCoin Wallet"
INSTALL="wget -O $TMP 'https://votecoin.site/download.php?os=linux' && tar -xf $TMP -C /opt && rm -f $TMP && apt install --yes libxss1 libgconf-2-4 libnss3"
POSTINSTALL=""
ONLY64=true
fi
if [ "$1" = "vlc" ]; then
NAME="VLC Video Player"
ABOUT="VLC Video Player is a free and open source multimedia player
and framework that plays most multimedia files as well as DVDs,
Audio CDs, CVDs, and various streaming protocols."
EXECUTABLE="/usr/bin/vlc"
INSTALL="apt install --yes vlc"
POSTINSTALL="rm /usr/share/applications/vlc.desktop; mkdir /home/guest/.config/vlc; echo '[qt4]
qt-privacy-ask=0' > /home/guest/.config/vlc/vlcrc;"
GUEST=true
fi
if [ "$1" = "chromium" ]; then
NAME="Chromium Web Browser"
ABOUT="Chromium is a free and open source version of
the famous Chrome browser, developed by Google."
EXECUTABLE="/usr/bin/chromium"
INSTALL="apt install --yes chromium chromium-sandbox"
POSTINSTALL="rm -f /usr/share/applications/chromium.desktop"
GUEST=true
fi
shift
# ------------------------------------------------
# do not touch anything below this line
# ------------------------------------------------
if [ "$ABOUT" != "" ]; then
ABOUT="$ABOUT
"
fi
if [ "$EXECUTABLE" = "" ]; then
exit
fi
if [ ! -f "$EXECUTABLE" ]; then
if [ $(uname -m) != 'x86_64' -a "$ONLY64" = "true" ]; then
gtkdialog -i /usr/share/icons/gnome/16x16/status/dialog-warning.png -t Error -m "$NAME only works in 64bit version of Slax" -y OK
exit 1
fi
if gtkdialog -i /usr/share/icons/gnome/16x16/status/dialog-question.png -t Question -m "$ABOUT$NAME is not yet installed.
Do you like to download and install it now?" -y Yes -n No; then
xterm -ls -e bash --login -c -- "$INSTALL; $POSTINSTALL"
fi
fi
if [ -f "$EXECUTABLE" ]; then
fbstartupnotify
if [ "$GUEST" = "true" -a "$EUID" -eq 0 ]; then
xhost + >/dev/null 2>/dev/null
exec su -c "$EXECUTABLE "$@"" guest
fi
exec "$EXECUTABLE" "$@"
fi

View File

@ -1,10 +1,10 @@
#!/bin/bash #!/bin/bash
COMMAND=$( COMMAND=$(
xlunch --input /etc/xlunch/logout.dsv --noprompt --border auto --columns 3 --rows 1 \ xlunch --input /etc/xlunch/logout.dsv --noprompt --border auto --sideborder auto --columns 3 --rows 1 \
--background /usr/share/wallpapers/slax_wallpaper.jpg --font DejaVuSans/11 \ --background /usr/share/wallpapers/slax_wallpaper.jpg --font DejaVuSans/11 \
--voidclickterminate --iconpadding 30 --textpadding 10 \ --voidclickterminate --iconpadding 30 --textpadding 10 \
--paddingswap --leastmargin 10 --hidemissing --iconsize 128 \ --leastmargin 10 --hidemissing --iconsize 128 \
--highlight /usr/share/icons/hicolor/128x128/apps/xlunch_highlight.png \ --highlight /usr/share/icons/hicolor/128x128/apps/xlunch_highlight.png \
--outputonly --outputonly
) )

View File

@ -0,0 +1,17 @@
#!/bin/bash
SIGNAL=~/.fehbg
rm -f $SIGNAL
OUTPUT=$(xrandr 2>/dev/null | grep -iv disconnected | grep -i 'connected' | head -n 1 | cut -d " " -f 1)
MODE=$1
xrandr --output $OUTPUT --mode $MODE -s $MODE
while [ -e $SIGNAL ]; do
sleep 0.1
done
sleep 1
killall -SIGUSR1 compton

View File

@ -0,0 +1,13 @@
[Desktop Entry]
Version=1.0
Name=Web Browser
GenericName=Web Browser
Exec=fbliveapp chromium %U
Terminal=false
X-MultipleArgs=false
Type=Application
Icon=chromium.png
Categories=Network;WebBrowser;
MimeType=audio/*;image/*;video/*;application/pdf;application/x-pdf;text/html;text/xml;application/xhtml_xml;application/x-mimearchive;x-scheme-handler/http;x-scheme-handler/https;
StartupWMClass=chromium
StartupNotify=true

View File

@ -0,0 +1,14 @@
[Desktop Entry]
Version=1.0
Name=Image viewer
GenericName=Image viewer
Exec=feh %U
Terminal=false
X-MultipleArgs=false
Type=Application
Icon=none.png
Categories=ImageViewer;
MimeType=image/*;
StartupWMClass=feh
StartupNotify=true
Hidden=true

View File

@ -0,0 +1,132 @@
[Default Applications]
application/pdf=chromium.desktop;
application/x-pdf=chromium.desktop;
audio/3gpp=chromium.desktop;
audio/ac3=chromium.desktop;
audio/flac=chromium.desktop;
audio/mp4=chromium.desktop;
audio/mpeg=chromium.desktop;
audio/mpegurl=chromium.desktop;
audio/ogg=chromium.desktop;
audio/x-flac=chromium.desktop;
audio/x-gsm=chromium.desktop;
audio/x-it=chromium.desktop;
audio/x-m4a=chromium.desktop;
audio/x-matroska=chromium.desktop;
audio/x-mod=chromium.desktop;
audio/x-mp3=chromium.desktop;
audio/x-mpeg=chromium.desktop;
audio/x-mpegurl=chromium.desktop;
audio/x-pn-wav=chromium.desktop;;
audio/x-tta=chromium.desktop;
audio/x-vorbis=chromium.desktop;
audio/x-vorbis+ogg=chromium.desktop;
audio/x-wav=chromium.desktop;
audio/x-wavpack=chromium.desktop;
audio/x-xm=chromium.desktop;
application/ogg=chromium.desktop;
application/x-extension-m4a=chromium.desktop;
application/x-extension-mp4=chromium.desktop;
application/x-flac=chromium.desktop;
application/x-flash-video=chromium.desktop;
application/x-ogg=chromium.desktop;
image/bmp=feh.desktop;
image/gif=feh.desktop;
image/jpeg=feh.desktop;
image/jpg=feh.desktop;
image/pjpeg=feh.desktop;
image/png=feh.desktop;
image/svg+xml=chromium.desktop;
image/svg+xml-compressed=chromium.desktop;
image/x-bmp=feh.desktop;
image/x-gray=chromium.desktop;
image/x-icb=chromium.desktop;
image/x-ico=chromium.desktop;
image/x-pcx=chromium.desktop;
image/x-png=feh.desktop;
image/x-portable-anymap=chromium.desktop;
image/x-portable-bitmap=chromium.desktop;
image/x-portable-graymap=chromium.desktop;
image/x-portable-pixmap=chromium.desktop;
image/x-xbitmap=chromium.desktop;
image/x-xpixmap=chromium.desktop;
image/vnd.wap.wbmp=chromium.desktop;
image/x-fits=gimp.desktop
image/x-icon=gimp.desktop
image/x-sun-raster=gimp.desktop
image/x-tga=gimp.desktop
image/x-xcf=gimp.desktop
image/x-xwindowdump=gimp.desktop
video/3gpp=chromium.desktop;
video/dv=chromium.desktop;
video/fli=chromium.desktop;
video/flv=chromium.desktop;
video/mp2t=chromium.desktop;
video/mp4=chromium.desktop;
video/mp4v-es=chromium.desktop;
video/mpeg=chromium.desktop;
video/msvideo=chromium.desktop;
video/ogg=chromium.desktop;
video/quicktime=chromium.desktop;
video/vivo=chromium.desktop;
video/vnd.divx=chromium.desktop;
video/vnd.rn-realvideo=chromium.desktop;
video/vnd.vivo=chromium.desktop;
video/webm=chromium.desktop;
video/x-anim=chromium.desktop;
video/x-avi=chromium.desktop;
video/x-flc=chromium.desktop;
video/x-fli=chromium.desktop;
video/x-flic=chromium.desktop;
video/x-flv=chromium.desktop;
video/x-m4v=chromium.desktop;
video/x-matroska=chromium.desktop;
video/x-mpeg=chromium.desktop;
video/x-ogm+ogg=chromium.desktop;
video/x-theora+ogg=chromium.desktop;
application/x-flash-video=chromium.desktop;
text/plain=leafpad.desktop;
text/css=leafpad.desktop;
text/javascript=leafpad.desktop;
text/mathml=leafpad.desktop;
text/x-c++hdr=leafpad.desktop;
text/x-c++src=leafpad.desktop;
text/x-csrc=leafpad.desktop;
text/x-chdr=leafpad.desktop;
text/x-dtd=leafpad.desktop;
text/x-java=leafpad.desktop;
text/x-javascript=leafpad.desktop;
text/x-makefile=leafpad.desktop;
text/x-moc=leafpad.desktop;
text/x-pascal=leafpad.desktop;
text/x-patch=leafpad.desktop;
text/x-perl=leafpad.desktop;
text/x-php=leafpad.desktop;
text/x-python=leafpad.desktop;
text/x-sql=leafpad.desktop;
text/x-tcl=leafpad.desktop;
text/x-tex=leafpad.desktop;
text/xml=leafpad.desktop;
application/javascript=leafpad.desktop;
application/x-cgi=leafpad.desktop;
application/x-javascript=leafpad.desktop;
application/x-perl=leafpad.desktop;
application/x-php=leafpad.desktop;
application/x-python=leafpad.desktop;
application/x-shellscript=leafpad.desktop;
application/xml=leafpad.desktop;
application/xml-dtd=leafpad.desktop;
application/x-bzip=xarchiver.desktop;
application/x-bzip-compressed-tar=xarchiver.desktop;
application/x-gzip=xarchiver.desktop;
application/x-tar=xarchiver.desktop;
application/x-zip=xarchiver.desktop;
application/x-zip-compressed=xarchiver.desktop;
application/zip=xarchiver.desktop;
application/x-compressed-tar=xarchiver.desktop;
application/x-bzip2=xarchiver.desktop;
application/x-bzip2-compressed-tar=xarchiver.desktop;
application/x-lzma-compressed-tar=xarchiver.desktop;
application/x-lzma=xarchiver.desktop;
application/x-xz=xarchiver.desktop;
application/x-xz-compressed-tar=xarchiver.desktop;

View File

@ -0,0 +1,5 @@
[Desktop Entry]
Icon=videoplayer
Name=Video Player
Exec=fbliveapp vlc
Terminal=false

View File

@ -0,0 +1,6 @@
[Desktop Entry]
Icon=votecoin
Name=VoteCoin Wallet
Exec=fbliveapp votecoin
Terminal=false
Hidden=true

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

View File

@ -4,7 +4,7 @@
! common settings ! common settings
*font: Bitstream Vera Sans-9 *font: Bitstream Vera Sans-9
background: aspect background: fullscreen
background.pixmap: /usr/share/wallpapers/slax_wallpaper.jpg background.pixmap: /usr/share/wallpapers/slax_wallpaper.jpg
toolbar.justify: left toolbar.justify: left

Some files were not shown because too many files have changed in this diff Show More