Compare commits
165 Commits
| Author | SHA1 | Date |
|---|---|---|
|
|
5aa73fb1af | |
|
|
bc5a770d3f | |
|
|
a3bfaccea1 | |
|
|
f02e73e522 | |
|
|
56dc040397 | |
|
|
8678d5f4b5 | |
|
|
b588256382 | |
|
|
81dfba7480 | |
|
|
e552cf09c6 | |
|
|
f43da7b5cf | |
|
|
82555a7ec4 | |
|
|
8db5cb64a2 | |
|
|
c405536126 | |
|
|
9774c4dd1b | |
|
|
7b243f9781 | |
|
|
ecdfe750c8 | |
|
|
103e1eeb13 | |
|
|
ece2224e18 | |
|
|
0010fcde7e | |
|
|
a45ff59376 | |
|
|
2c2e73992f | |
|
|
9e41cd8253 | |
|
|
31c1e64cec | |
|
|
fcc1c91b2b | |
|
|
32afaf7f89 | |
|
|
7bca13b9a6 | |
|
|
5f0ccd3362 | |
|
|
b6569a3d0b | |
|
|
89c08c297a | |
|
|
98cd8e51b4 | |
|
|
7709174535 | |
|
|
73d605d9ad | |
|
|
72de891a3d | |
|
|
05af29f8d1 | |
|
|
93cbaf8c67 | |
|
|
8be589217e | |
|
|
5a06b74174 | |
|
|
6edbe53252 | |
|
|
1257303ef3 | |
|
|
e365ab8859 | |
|
|
41f195da50 | |
|
|
809dc08543 | |
|
|
5e288baafe | |
|
|
0548b30e81 | |
|
|
8852a1062d | |
|
|
95656a4eff | |
|
|
afe634c46a | |
|
|
0d9256ee6a | |
|
|
e38da35316 | |
|
|
0e4c7bf8a3 | |
|
|
8432a942e9 | |
|
|
c7055b1ad1 | |
|
|
4f813d4e87 | |
|
|
a5e44dcc89 | |
|
|
d27460d958 | |
|
|
33cf295438 | |
|
|
ab98b4b526 | |
|
|
d877af9e8b | |
|
|
718a39ccc3 | |
|
|
05df6761f5 | |
|
|
81f424db2f | |
|
|
4cbed3fa34 | |
|
|
76e0c973c0 | |
|
|
e84f3852f0 | |
|
|
ca41faea5b | |
|
|
b137deed92 | |
|
|
cb7ecf8b96 | |
|
|
9cb6a19582 | |
|
|
52c9f07ff4 | |
|
|
abcc1a888d | |
|
|
77907d4abe | |
|
|
32f35a745d | |
|
|
bfba8e64fe | |
|
|
6df62e20b2 | |
|
|
78661a48f9 | |
|
|
d775cf882f | |
|
|
6b463c19c5 | |
|
|
ef233a3d45 | |
|
|
d65b4213dc | |
|
|
1b09965e05 | |
|
|
6669a3cb04 | |
|
|
4e28ff7530 | |
|
|
91058aaafc | |
|
|
c186696b93 | |
|
|
0cb17f9c67 | |
|
|
9d0477876d | |
|
|
da623a0390 | |
|
|
22f2493769 | |
|
|
1e76881664 | |
|
|
af5288c7af | |
|
|
15c130f76a | |
|
|
7cd51df455 | |
|
|
a396c0f5d0 | |
|
|
868d1aac34 | |
|
|
3149f63a99 | |
|
|
edb710c1b3 | |
|
|
5a090f6ac4 | |
|
|
263216ab42 | |
|
|
32f645280c | |
|
|
19320ddaa3 | |
|
|
78abfa1fd4 | |
|
|
a015d67205 | |
|
|
ad1aa1c300 | |
|
|
1d96e84ada | |
|
|
879212b57b | |
|
|
3fd5c6b4de | |
|
|
62e4ef0ffd | |
|
|
7b5c400864 | |
|
|
7c102af221 | |
|
|
1e3fdc1a8b | |
|
|
8971fdb6ca | |
|
|
3eca7a4f07 | |
|
|
56399ef6b9 | |
|
|
7f98976f9d | |
|
|
d323e53782 | |
|
|
25ba737f63 | |
|
|
a662e1b35e | |
|
|
e38a548377 | |
|
|
4655beb5d5 | |
|
|
708c8be176 | |
|
|
32d24f6e63 | |
|
|
8bf62ad5c6 | |
|
|
61a4adfbab | |
|
|
c08530d26a | |
|
|
7d986692ce | |
|
|
f3a44517f9 | |
|
|
2aae7d3330 | |
|
|
55b35b4276 | |
|
|
6a64a5914d | |
|
|
c28af0a10d | |
|
|
f2010c0714 | |
|
|
ed2d6e13ec | |
|
|
ddca39f917 | |
|
|
f5de004395 | |
|
|
bf2c73bb0f | |
|
|
8c7fa04537 | |
|
|
68c10a0bfa | |
|
|
0b31b80c36 | |
|
|
ba37ee2833 | |
|
|
10327c8c1c | |
|
|
a19ebe6b56 | |
|
|
b1ccfb0fce | |
|
|
c153975526 | |
|
|
82a84bd22c | |
|
|
6a917e8d9d | |
|
|
761edab4ee | |
|
|
739c96d096 | |
|
|
14e8bf3b40 | |
|
|
1c16b518ea | |
|
|
104a7384a1 | |
|
|
3a3c5c867a | |
|
|
5e3e15e959 | |
|
|
4d06906e95 | |
|
|
2f5f18b47c | |
|
|
f868d18dc1 | |
|
|
6532e6f566 | |
|
|
0682d53c1f | |
|
|
73b1100fbc | |
|
|
3599b99ad2 | |
|
|
912e6f8f5f | |
|
|
c5eabd4e3c | |
|
|
add1fbd465 | |
|
|
30efd94175 | |
|
|
da725ee880 | |
|
|
b407aed085 |
4
README
|
|
@ -43,6 +43,10 @@ Note:
|
|||
- it will create ISO and TAR files for you in /tmp
|
||||
- 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:
|
||||
- squashfs-tools
|
||||
- genisoimage or mkisofs
|
||||
|
|
|
|||
|
|
@ -0,0 +1,10 @@
|
|||
\l
|
||||
_ ____ _____
|
||||
| | / __ \\ / ____|
|
||||
__| |_ __ __ _| | | | (___
|
||||
/ _` | '_ \\ / _` | | | |\\___ \\
|
||||
| (_| | | | | (_| | |__| |____) |
|
||||
\\__,_|_| |_|\\__,_|\\____/|_____/
|
||||
|
||||
powered by Briq
|
||||
|
||||
|
|
@ -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
|
||||
|
|
@ -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"
|
||||
|
||||
|
|
@ -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
|
||||
|
|
@ -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"
|
||||
|
|
@ -40,7 +40,7 @@ done
|
|||
|
||||
cd $CWD
|
||||
|
||||
mksquashfs $TMP "$1" -comp xz -b 512k -noappend
|
||||
mksquashfs $TMP "$1" -comp xz -b 1024K -always-use-fragments -noappend
|
||||
|
||||
umount $TMP
|
||||
rmdir $TMP
|
||||
|
|
@ -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 "$@"
|
||||
|
|
@ -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
|
||||
|
|
@ -8,6 +8,7 @@
|
|||
|
||||
|
||||
LIVE=/run/initramfs/memory
|
||||
RAMSTORE=$LIVE/modules
|
||||
|
||||
# Print error message and exit
|
||||
# $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()
|
||||
{
|
||||
local SI BUNDLE LOOP CWD
|
||||
|
|
@ -70,23 +51,19 @@ activate()
|
|||
|
||||
# check if file exists
|
||||
if [ ! -r "$SB" ]; then
|
||||
usage "file not found $SB"
|
||||
fi
|
||||
|
||||
# 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"
|
||||
usage
|
||||
die "file not found $SB"
|
||||
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"
|
||||
|
||||
if [ $? -ne 0 ]; then
|
||||
die "Error copying file to $TGT/$BAS. Not enough space?"
|
||||
fi
|
||||
|
||||
if [ $? -ne 0 ]; then die "Error copying file to $TGT/$BAS. Not enough free RAM or disk space?"; fi
|
||||
SB="$TGT/$BAS"
|
||||
fi
|
||||
|
||||
# check if this particular file is already activated
|
||||
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
|
||||
losetup -d "$LOOP" 2>/dev/null
|
||||
|
||||
# remove the .sb file, but keep it if deactivate was issued on full sb real path
|
||||
if [ "$(realpath "$1")" != "$(realpath "$LOOPFILE")" ]; then
|
||||
rm -f "$LOOPFILE" 2>/dev/null
|
||||
if echo "$LOOPFILE" | grep -q $RAMSTORE; then
|
||||
rm -f $LOOPFILE
|
||||
fi
|
||||
|
||||
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
|
||||
die "Usage: $0 [ activate | deactivate | list ] [ file.sb ]"
|
||||
usage
|
||||
die
|
||||
fi
|
||||
|
||||
if [ "$1" = "activate" ]; then
|
||||
|
|
@ -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
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
[Unit]
|
||||
Description=X-Window
|
||||
After=systemd-user-sessions.service
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/su --login -c /usr/bin/startx
|
||||
|
|
@ -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
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
[Desktop Entry]
|
||||
Name=Text editor
|
||||
Exec=leafpad
|
||||
Icon=editor
|
||||
Terminal=false
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
[Desktop Entry]
|
||||
Icon=system-file-manager
|
||||
Name=File Manager
|
||||
Exec=pcmanfm
|
||||
Terminal=false
|
||||
|
|
@ -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
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
#!/bin/bash
|
||||
xhost + >/dev/null 2>/dev/null
|
||||
su -c "chromium-launcher "$@"" guest
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
[Desktop Entry]
|
||||
Name=Web Browser
|
||||
Exec=chromium
|
||||
Terminal=false
|
||||
Icon=chromium
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -1,3 +1,6 @@
|
|||
For more updated changelog and todo, visit
|
||||
https://www.slax.org/next.php
|
||||
|
||||
TODO:
|
||||
|
||||
make persistent changes default when booting from writable media
|
||||
|
|
@ -94,7 +94,7 @@ if [ "$(fdisk -l "$DEV" | fgrep "$DEV" | fgrep "*")" != "" ]; then
|
|||
echo ""
|
||||
echo "Partition $PART seems to be located on a physical disk,"
|
||||
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..."
|
||||
read junk
|
||||
fi
|
||||
|
|
@ -107,8 +107,16 @@ if [ ! -x ./$EXTLINUX ]; then
|
|||
# extlinux is not executable. There are two possible reasons:
|
||||
# either the fs is mounted with noexec, or file perms are wrong.
|
||||
# Try to fix both, no fail on error yet
|
||||
chmod a+x ./$EXTLINUX
|
||||
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
|
||||
|
||||
# install syslinux bootloader
|
||||
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
|
|
@ -29,15 +29,14 @@ MENU TABMSG [F1] help [Ta
|
|||
LABEL default
|
||||
MENU LABEL Run Slax (Persistent changes)
|
||||
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
|
||||
MENU LABEL Run Slax (Fresh start)
|
||||
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
|
||||
MENU LABEL Run Slax (Copy to RAM)
|
||||
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
|
||||
|
Before Width: | Height: | Size: 6.3 KiB After Width: | Height: | Size: 6.3 KiB |
|
|
@ -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/
|
||||
|
|
@ -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
|
||||
|
||||
|
|
@ -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"
|
||||
|
|
@ -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
|
||||
|
|
@ -1,6 +1,22 @@
|
|||
#!/bin/bash
|
||||
|
||||
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
|
||||
# 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
|
||||
cp -aR * /
|
||||
|
||||
update-alternatives --set x-terminal-emulator /usr/bin/xterm
|
||||
|
||||
. /tmp/cleanup
|
||||
|
||||
savechanges /02-xorg.sb
|
||||
|
||||
|
|
@ -26,3 +26,5 @@ Xft.hinting: true
|
|||
Xft.hintstyle: hintfull
|
||||
Xft.lcdfilter: lcdlegacy
|
||||
Xft.rgba: rgb
|
||||
|
||||
XTerm*selectToClipboard: true
|
||||
|
|
@ -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"
|
||||
|
|
@ -8,11 +8,21 @@ VERSION=1.3.5
|
|||
# first install stock version
|
||||
|
||||
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
|
||||
|
||||
(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/.config
|
||||
|
||||
savechanges /$NAME-stock.sb
|
||||
|
||||
|
|
@ -54,10 +64,10 @@ cp debian/$NAME/usr/bin/fluxbox /squashfs-root/usr/bin
|
|||
|
||||
|
||||
# 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
|
||||
tar -xf xlunch.tar.gz
|
||||
cd xlunch-3.2.5
|
||||
cd xlunch-4.5.3
|
||||
make
|
||||
cp xlunch /squashfs-root/usr/bin
|
||||
cp extra/gentriesquick /squashfs-root/usr/bin/xlunch_genquick
|
||||
|
|
@ -73,4 +83,35 @@ apt-get install --yes libgtk2.0-dev
|
|||
make
|
||||
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
|
||||
|
|
@ -8,9 +8,9 @@ onclick=xterm -e 'alsamixer'
|
|||
theme=White Gnome
|
||||
|
||||
[Hotkeys]
|
||||
up_enabled=false
|
||||
down_enabled=false
|
||||
mute_enabled=false
|
||||
up_enabled=true
|
||||
down_enabled=true
|
||||
mute_enabled=true
|
||||
up=XF86AudioRaiseVolume
|
||||
down=XF86AudioLowerVolume
|
||||
mute=XF86AudioMute
|
||||
|
|
@ -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
|
||||
|
|
@ -3,6 +3,11 @@
|
|||
[Layer] {2}
|
||||
[end]
|
||||
|
||||
[app] (name=gtkdialog)
|
||||
[Position] (WINCENTER) {0 0}
|
||||
[Layer] {2}
|
||||
[end]
|
||||
|
||||
[app] (name=xlunch)
|
||||
[DECO] {NONE}
|
||||
[IconHidden] {yes}
|
||||
|
|
@ -1,10 +1,10 @@
|
|||
[begin] (Desktop menu)
|
||||
[exec] (Terminal) { fbstartupnotify && xterm -ls }
|
||||
[exec] (File Manager) { fbstartupnotify && pcmanfm }
|
||||
[exec] (Web Browser) { fbstartupnotify && chromium }
|
||||
[exec] (Web Browser) { fbstartupnotify && fbliveapp chromium }
|
||||
[exec] (Text Editor) { fbstartupnotify && leafpad }
|
||||
[exec] (Calculator) { fbstartupnotify && qalculate }
|
||||
[exec] (Network Manager) { fbstartupnotify && wicd-gtk --no-tray }
|
||||
[exec] (Network Manager) { fbstartupnotify && wicd-manager }
|
||||
[exec] (Run) { fbappselect }
|
||||
[separator]
|
||||
[workspaces] (Workspaces ...)
|
||||
|
|
@ -13,13 +13,8 @@ xrdb -merge ~/.Xresources
|
|||
# set keyboard layout
|
||||
fbsetkb $(cat ~/.fluxbox/kblayout)
|
||||
|
||||
# setup bookmarks
|
||||
cat ~/.gtk-bookmarks | fgrep -v ///media/ | fgrep -v "file:/// /" | egrep -v '^$' > ~/.gtk-bookmarks.tmp 2>/dev/null
|
||||
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
|
||||
# setup bookmarks for file manager
|
||||
gtk-bookmarks-update
|
||||
|
||||
# Share common directories with guest user. This is necessary
|
||||
# because some apps like chromium must be running under guest
|
||||
|
|
@ -33,6 +28,10 @@ done
|
|||
xsetroot -solid '#111111'
|
||||
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
|
||||
volumeicon &
|
||||
|
||||
|
|
@ -73,7 +72,12 @@ rm -f $SIGNAL2 2>/dev/null
|
|||
sleep 0.1
|
||||
done
|
||||
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
|
||||
|
|
@ -1,11 +1,11 @@
|
|||
#!/bin/bash
|
||||
|
||||
COMMAND=$(
|
||||
xlunch_genquick 64 | \
|
||||
xlunch --scroll \
|
||||
xlunch_genquick 64 --desktop | \
|
||||
xlunch --border 7% --sideborder 10% --borderratio 100 --sideborderratio 50 \
|
||||
--background /usr/share/wallpapers/slax_wallpaper.jpg --font DejaVuSans/11 \
|
||||
--voidclickterminate --iconpadding 30 --textpadding 10 \
|
||||
--paddingswap --leastmargin 10 --hidemissing --iconsize 64 \
|
||||
--voidclickterminate --iconpadding 40 --textpadding 10 \
|
||||
--leastmargin 6 --hidemissing --iconsize 64 \
|
||||
--highlight /usr/share/icons/hicolor/128x128/apps/xlunch_highlight.png \
|
||||
--outputonly
|
||||
)
|
||||
|
|
@ -16,6 +16,12 @@ fi
|
|||
|
||||
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.*//")"
|
||||
whi="$(which $cmd | head -n 1)"
|
||||
Xdep=$(ldd $whi | grep libX11)
|
||||
|
|
@ -26,7 +32,7 @@ if [ "$Ndep" != "" -o "$cmd" = "man" -o "$cmd" = "mc" ]; then
|
|||
WAIT=""
|
||||
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"
|
||||
else
|
||||
exec $COMMAND
|
||||
|
|
@ -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
|
||||
|
|
@ -1,10 +1,10 @@
|
|||
#!/bin/bash
|
||||
|
||||
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 \
|
||||
--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 \
|
||||
--outputonly
|
||||
)
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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;
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
[Desktop Entry]
|
||||
Icon=videoplayer
|
||||
Name=Video Player
|
||||
Exec=fbliveapp vlc
|
||||
Terminal=false
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
[Desktop Entry]
|
||||
Icon=votecoin
|
||||
Name=VoteCoin Wallet
|
||||
Exec=fbliveapp votecoin
|
||||
Terminal=false
|
||||
Hidden=true
|
||||
|
Before Width: | Height: | Size: 197 B After Width: | Height: | Size: 197 B |
|
Before Width: | Height: | Size: 197 B After Width: | Height: | Size: 197 B |
|
Before Width: | Height: | Size: 196 B After Width: | Height: | Size: 196 B |
|
Before Width: | Height: | Size: 171 B After Width: | Height: | Size: 171 B |
|
Before Width: | Height: | Size: 175 B After Width: | Height: | Size: 175 B |
|
Before Width: | Height: | Size: 171 B After Width: | Height: | Size: 171 B |
|
Before Width: | Height: | Size: 152 B After Width: | Height: | Size: 152 B |
|
Before Width: | Height: | Size: 152 B After Width: | Height: | Size: 152 B |
|
Before Width: | Height: | Size: 152 B After Width: | Height: | Size: 152 B |
|
After Width: | Height: | Size: 8.1 KiB |
|
|
@ -4,7 +4,7 @@
|
|||
! common settings
|
||||
*font: Bitstream Vera Sans-9
|
||||
|
||||
background: aspect
|
||||
background: fullscreen
|
||||
background.pixmap: /usr/share/wallpapers/slax_wallpaper.jpg
|
||||
|
||||
toolbar.justify: left
|
||||
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 3.5 KiB |
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 5.8 KiB After Width: | Height: | Size: 5.8 KiB |