Compare commits
97 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 |
4
README
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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"
|
||||||
|
|
||||||
|
|
@ -8,15 +8,23 @@ LIVE=/run/initramfs
|
||||||
FTPROOT=/var/state/dnsmasq/root
|
FTPROOT=/var/state/dnsmasq/root
|
||||||
|
|
||||||
# find out our own IP address. If more interfaces are available, use the first one
|
# find out our own IP address. If more interfaces are available, use the first one
|
||||||
IP="$(ls -1 /sys/class/net | egrep -v '^lo$' | sort | head -n 1 | xargs -r ifconfig | fgrep "inet " | tr -s " " | cut -d " " -f 3)"
|
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 no IP is assigned to this computer, setup private address randomly
|
||||||
if [ "$IP" = "" ]; then
|
if [ "$IP" = "" ]; then
|
||||||
killall dhcpcd 2>/dev/null
|
killall dhclient 2>/dev/null
|
||||||
IP="10."$(($RANDOM/130+1))"."$(($RANDOM/130+1))".1"
|
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
|
ifconfig $(ls -1 /sys/class/net | egrep -v '^lo$' | sort | head -n 1) $IP netmask 255.255.255.0
|
||||||
fi
|
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 ...
|
echo Starting PXE server on $IP ...
|
||||||
|
|
||||||
# calculate C class range
|
# calculate C class range
|
||||||
|
|
@ -71,6 +79,7 @@ APPEND initrd=/initrfs.img load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 $(ca
|
||||||
# start the DHCP server and TFTP server
|
# start the DHCP server and TFTP server
|
||||||
dnsmasq --enable-tftp --tftp-root=/var/state/dnsmasq/root \
|
dnsmasq --enable-tftp --tftp-root=/var/state/dnsmasq/root \
|
||||||
--dhcp-boot=pxelinux.0,"$IP",$IP \
|
--dhcp-boot=pxelinux.0,"$IP",$IP \
|
||||||
|
--dhcp-option=3,$GW \
|
||||||
--dhcp-range=$RANGE.2,$RANGE.250,infinite --log-dhcp
|
--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')
|
# start HTTP server at port 7529 (that are the numbers you type on your phone to write 'slax')
|
||||||
|
|
@ -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
|
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
|
||||||
|
|
@ -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
|
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,24 +51,20 @@ activate()
|
||||||
|
|
||||||
# check if file exists
|
# check if file exists
|
||||||
if [ ! -r "$SB" ]; then
|
if [ ! -r "$SB" ]; then
|
||||||
usage "file not found $SB"
|
usage
|
||||||
|
die "file not found $SB"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# copy the module to storage dir so it can be activated from there
|
# check if the file is part of aufs union, if yes we need to copy it outside
|
||||||
TGT="$(get_bundle_storage_dir)"
|
if df "$SB" | cut -d " " -f 1 | grep -q aufs; then
|
||||||
|
TGT="$RAMSTORE"
|
||||||
if [ -r $TGT/$BAS ]; then
|
mkdir -p "$TGT"
|
||||||
die "File exists: $TGT/$BAS"
|
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 free RAM or disk space?"; fi
|
||||||
|
SB="$TGT/$BAS"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cp -n "$SB" "$TGT/$BAS"
|
|
||||||
|
|
||||||
if [ $? -ne 0 ]; then
|
|
||||||
die "Error copying file to $TGT/$BAS. Not enough space?"
|
|
||||||
fi
|
|
||||||
|
|
||||||
SB="$TGT/$BAS"
|
|
||||||
|
|
||||||
# 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
|
||||||
exit
|
exit
|
||||||
|
|
@ -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
|
||||||
|
|
@ -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,10 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
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 at the end
|
|
||||||
|
|
||||||
mv -f ~/.gtk-bookmarks.tmp ~/.gtk-bookmarks
|
|
||||||
|
|
@ -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
|
|
||||||
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
|
|
@ -29,14 +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
|
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"
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
apt-get update
|
apt update
|
||||||
apt-get install --yes --no-install-recommends \
|
apt install --yes --no-install-recommends \
|
||||||
firmware-linux-free \
|
firmware-linux-free \
|
||||||
firmware-linux-nonfree \
|
firmware-linux-nonfree \
|
||||||
firmware-atheros \
|
firmware-atheros \
|
||||||
|
|
@ -13,7 +13,8 @@ apt-get install --yes --no-install-recommends \
|
||||||
firmware-cavium \
|
firmware-cavium \
|
||||||
firmware-ipw2x00 \
|
firmware-ipw2x00 \
|
||||||
firmware-libertas \
|
firmware-libertas \
|
||||||
firmware-ti-connectivity
|
firmware-ti-connectivity \
|
||||||
|
firmware-b43-installer
|
||||||
|
|
||||||
. ../../cleanup
|
. ../../cleanup
|
||||||
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
apt-get update
|
apt-get update
|
||||||
apt-get install --yes --no-install-recommends \
|
apt-get install --yes --no-install-recommends \
|
||||||
xserver-xorg \
|
xserver-xorg xserver-xorg-video-all xserver-xorg-video-intel \
|
||||||
xinit \
|
xinit \
|
||||||
xterm \
|
xterm \
|
||||||
blackbox \
|
blackbox \
|
||||||
|
|
@ -15,6 +15,9 @@ apt-get install --yes --no-install-recommends \
|
||||||
libgl1-mesa-dri \
|
libgl1-mesa-dri \
|
||||||
libglu1-mesa
|
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,
|
||||||
# so we're going to nuke it to leave only Snow cursors active.
|
# so we're going to nuke it to leave only Snow cursors active.
|
||||||
|
|
@ -36,3 +39,4 @@ update-alternatives --set x-terminal-emulator /usr/bin/xterm
|
||||||
. /tmp/cleanup
|
. /tmp/cleanup
|
||||||
|
|
||||||
savechanges /02-xorg.sb
|
savechanges /02-xorg.sb
|
||||||
|
|
||||||
|
|
@ -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
|
||||||
|
|
@ -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"
|
||||||
|
|
@ -64,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.13.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.13
|
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
|
||||||
|
|
@ -28,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 &
|
||||||
|
|
||||||
|
|
@ -68,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
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
COMMAND=$(
|
COMMAND=$(
|
||||||
xlunch_genquick 64 | \
|
xlunch_genquick 64 --desktop | \
|
||||||
xlunch --scroll --border 7% --sideborder 10% --borderratio 100 --sideborderratio 50 \
|
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 40 --textpadding 10 \
|
--voidclickterminate --iconpadding 40 --textpadding 10 \
|
||||||
--paddingswap --leastmargin 6 --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-manager" -a "$cmd" != "fbliveapp" ]; 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
|
||||||
|
|
@ -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
|
||||||
|
|
@ -4,7 +4,7 @@ COMMAND=$(
|
||||||
xlunch --input /etc/xlunch/logout.dsv --noprompt --border auto --sideborder 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
|
||||||
)
|
)
|
||||||
|
|
@ -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
|
||||||
|
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 |
|
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 |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 4.6 KiB After Width: | Height: | Size: 4.6 KiB |
|
Before Width: | Height: | Size: 543 B After Width: | Height: | Size: 543 B |
|
Before Width: | Height: | Size: 141 B After Width: | Height: | Size: 141 B |