Improve code and use KDE instead of XFCE

This commit is contained in:
julien
2026-06-29 16:11:42 +02:00
parent e6218c9972
commit 2c0c9944bc
10 changed files with 63 additions and 395 deletions
+8 -5
View File
@@ -1,6 +1,6 @@
# Easy Slack !
Pour installer facilement une Slackware 15 fonctionnelle, pour une station de travail avec XFCE ou un serveur sans interface graphique.
Pour installer facilement une Slackware Current fonctionnelle, pour une station de travail avec KDE Plasma ou un serveur sans interface graphique.
## Installation
@@ -16,7 +16,7 @@ Ensuite suivre les indications à lexception des deux points suivant :
1. Au moment de choisir les groupes de paquets à installer, exclure :
* `E/` et `KDE/` pour une station de travail.
* `E/` et `XFCE/` pour une station de travail.
* `E/`, `KDE/`, `T/`, `TCL/`, `X/`, `XAP/`, `XFCE/` et `Y/` pour un serveur sans interface graphique.
2. Passer l'installation de `lilo` ou `elilo` comme chargeurs damorçage.
@@ -50,8 +50,6 @@ Puis l'exécuter :
# ./post-install.sh
```
La machine redémarrera automatiquement une fois le script terminé.
## Utilisation
### Mise à jour
@@ -68,7 +66,8 @@ Soyez vigilant aux paquets mis à jour avant de lancer la mise à jour, si le no
1. Régénérer les modules de noyau `generic`.
```
# /usr/share/mkinitrd/mkinitrd_command_generator.sh -r | bash
# /usr/share/mkinitrd/mkinitrd_command_generator.sh -r | bash ### The old tool
# geninitrd
```
2. Ainsi que les entrées du menu de démarrage de `grub`.
@@ -79,6 +78,8 @@ Soyez vigilant aux paquets mis à jour avant de lancer la mise à jour, si le no
### SlackBuilds.org
> À adapter pour Slackware Current (installation de `sbotools` désactivée) !
Vous souhaiteriez des logiciels supplémentaires ?
Faites un petit tour sur [SlackBuilds.org](https://slackbuilds.org/) vous y trouverez une collection de scripts de construction de paquets maintenue par la communauté.
@@ -99,6 +100,8 @@ Pour plus d'informations `$ man sbotools` !
### Docker
> Nécessite `sbotools` !
Installer Docker depuis SlackBuilds.org :
```
# sboinstall docker-cli
-4
View File
@@ -1,4 +0,0 @@
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
-29
View File
@@ -1,29 +0,0 @@
PROMPT_COMMAND=__prompt_command
__prompt_command() {
# Store current exit code
local EXIT="$?"
# Define some colors
local RESET='\[\e[0m\]'
local RED='\[\e[0;31m\]'
local GREEN='\[\e[0;32m\]'
local BOLD_GRAY='\[\e[1;30m\]'
# Start with an empty PS1
PS1=""
if [[ $EXIT -eq 0 ]]; then
# Add green if exit code 0
PS1+="${GREEN}0${RESET} "
else
# Add red if exit code non 0
PS1+="${RED}${EXIT}${RESET} "
fi
# These are the default prompts for root and user
if [ $(id -u) -eq 0 ]; then
PS1+="\u@\h:\w ($(ls | wc -l)) ${RESET}# "
else
PS1+="\u@\h:\w ($(ls | wc -l)) ${RESET}$ "
fi
}
@@ -1,72 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<channel name="xfce4-panel" version="1.0">
<property name="configver" type="int" value="2"/>
<property name="panels" type="array">
<value type="int" value="1"/>
<property name="dark-mode" type="bool" value="true"/>
<property name="panel-1" type="empty">
<property name="position" type="string" value="p=6;x=683;y=14"/>
<property name="length" type="uint" value="100"/>
<property name="position-locked" type="bool" value="true"/>
<property name="icon-size" type="uint" value="18"/>
<property name="size" type="uint" value="28"/>
<property name="plugin-ids" type="array">
<value type="int" value="1"/>
<value type="int" value="4"/>
<value type="int" value="2"/>
<value type="int" value="3"/>
<value type="int" value="6"/>
<value type="int" value="8"/>
<value type="int" value="9"/>
<value type="int" value="10"/>
<value type="int" value="11"/>
<value type="int" value="12"/>
<value type="int" value="5"/>
</property>
<property name="leave-opacity" type="uint" value="100"/>
<property name="enter-opacity" type="uint" value="100"/>
<property name="disable-struts" type="bool" value="false"/>
<property name="length-adjust" type="bool" value="true"/>
<property name="nrows" type="uint" value="1"/>
</property>
</property>
<property name="plugins" type="empty">
<property name="plugin-1" type="string" value="applicationsmenu">
<property name="button-icon" type="string" value="Slackware"/>
<property name="show-button-title" type="bool" value="true"/>
</property>
<property name="plugin-2" type="string" value="tasklist">
<property name="grouping" type="uint" value="0"/>
<property name="show-handle" type="bool" value="true"/>
<property name="flat-buttons" type="bool" value="true"/>
<property name="show-labels" type="bool" value="true"/>
<property name="middle-click" type="uint" value="1"/>
</property>
<property name="plugin-3" type="string" value="separator">
<property name="expand" type="bool" value="true"/>
<property name="style" type="uint" value="0"/>
</property>
<property name="plugin-4" type="string" value="pager"/>
<property name="plugin-6" type="string" value="systray">
<property name="square-icons" type="bool" value="true"/>
<property name="known-legacy-items" type="array">
<value type="string" value="thunar"/>
<value type="string" value="hp-systray"/>
<value type="string" value="applet networkmanager"/>
</property>
</property>
<property name="plugin-8" type="string" value="pulseaudio">
<property name="enable-keyboard-shortcuts" type="bool" value="true"/>
<property name="show-notifications" type="bool" value="true"/>
<property name="mpris-players" type="string" value="audacious"/>
</property>
<property name="plugin-9" type="string" value="power-manager-plugin"/>
<property name="plugin-10" type="string" value="notification-plugin"/>
<property name="plugin-11" type="string" value="separator">
<property name="style" type="uint" value="0"/>
</property>
<property name="plugin-12" type="string" value="clock"/>
<property name="plugin-5" type="string" value="showdesktop"/>
</property>
</channel>
@@ -1,31 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<channel name="xfce4-session" version="1.0">
<property name="general" type="empty">
<property name="FailsafeSessionName" type="empty"/>
<property name="LockCommand" type="empty"/>
<property name="SessionName" type="string" value="Default"/>
<property name="SaveOnExit" type="bool" value="false"/>
</property>
<property name="sessions" type="empty">
<property name="Failsafe" type="empty">
<property name="IsFailsafe" type="empty"/>
<property name="Count" type="empty"/>
<property name="Client0_Command" type="empty"/>
<property name="Client0_Priority" type="empty"/>
<property name="Client0_PerScreen" type="empty"/>
<property name="Client1_Command" type="empty"/>
<property name="Client1_Priority" type="empty"/>
<property name="Client1_PerScreen" type="empty"/>
<property name="Client2_Command" type="empty"/>
<property name="Client2_Priority" type="empty"/>
<property name="Client2_PerScreen" type="empty"/>
<property name="Client3_Command" type="empty"/>
<property name="Client3_Priority" type="empty"/>
<property name="Client3_PerScreen" type="empty"/>
<property name="Client4_Command" type="empty"/>
<property name="Client4_Priority" type="empty"/>
<property name="Client4_PerScreen" type="empty"/>
</property>
</property>
</channel>
@@ -1,37 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<channel name="xsettings" version="1.0">
<property name="Net" type="empty">
<property name="ThemeName" type="string" value="Adwaita-dark"/>
<property name="IconThemeName" type="string" value="Papirus-Dark"/>
<property name="DoubleClickTime" type="empty"/>
<property name="DoubleClickDistance" type="empty"/>
<property name="DndDragThreshold" type="empty"/>
<property name="CursorBlink" type="empty"/>
<property name="CursorBlinkTime" type="empty"/>
<property name="SoundThemeName" type="empty"/>
<property name="EnableEventSounds" type="empty"/>
<property name="EnableInputFeedbackSounds" type="empty"/>
</property>
<property name="Gtk" type="empty">
<property name="CanChangeAccels" type="empty"/>
<property name="ColorPalette" type="empty"/>
<property name="FontName" type="empty"/>
<property name="MonospaceFontName" type="empty"/>
<property name="IconSizes" type="empty"/>
<property name="KeyThemeName" type="empty"/>
<property name="ToolbarStyle" type="empty"/>
<property name="ToolbarIconSize" type="empty"/>
<property name="MenuImages" type="empty"/>
<property name="ButtonImages" type="empty"/>
<property name="MenuBarAccel" type="empty"/>
<property name="CursorThemeName" type="empty"/>
<property name="CursorThemeSize" type="empty"/>
<property name="DecorationLayout" type="empty"/>
<property name="DialogsUseHeader" type="empty"/>
<property name="TitlebarMiddleClick" type="empty"/>
</property>
<property name="Gdk" type="empty">
<property name="WindowScalingFactor" type="empty"/>
</property>
</channel>
+47 -63
View File
@@ -4,6 +4,8 @@
# To be executed before rebooting within a chroot.
#
set -euo pipefail
# Desktop or server ?
echo
echo "Type desktop or server depending on what you want to do."
@@ -17,17 +19,20 @@ read -p "> " bios_or_uefi
################################################################################
### Bootloader
# BIOS
if [[ $bios_or_uefi = bios ]]; then
case "$bios_or_uefi" in
bios)
echo "Enter the disk id where you want the bootloader to be installed. (eg. sda)"
read -p "> " grub_disk
grub-install --modules=part_gpt /dev/$grub_disk
fi
# UEFI
if [[ $bios_or_uefi = uefi ]]; then
grub-install --modules=part_gpt "/dev/$grub_disk"
;;
uefi)
grub-install --target=x86_64-efi --bootloader-id=GRUB --efi-directory=/boot/efi
fi
;;
*)
echo "Invalid choice."
exit 1
;;
esac
# Generate grub menu
grub-mkconfig -o /boot/grub/grub.cfg
@@ -40,70 +45,56 @@ echo
echo "Enter your UTF-8 locale or let empty for keeping default one. (eg. fr_FR)"
read -p "> " utf8_locale
if [[ -n $utf8_locale ]]; then
sed -i 's/export LANG=en_US.UTF-8/export LANG='$utf8_locale'.UTF-8/g' /etc/profile.d/lang.sh
# sed -i 's/export LANG=en_US.UTF-8/export LANG='$utf8_locale'.UTF-8/g' /etc/profile.d/lang.sh
sed -i "s/^export LANG=.*/export LANG=${utf8_locale}.UTF-8/" /etc/profile.d/lang.sh
fi
# Slackpkg mirror
sed -i '/# https:\/\/mirrors.slackware.com\/slackware\/slackware64-15.0\//s/^# //g' /etc/slackpkg/mirrors
sed -i '/# https:\/\/mirrors.slackware.com\/slackware\/slackware64-current\//s/^# //g' /etc/slackpkg/mirrors
slackpkg update gpg
# Slackpkg blacklist
sed -i '/#\[0-9\]+_SBo/s/^#//g' /etc/slackpkg/blacklist
echo "e/" >> /etc/slackpkg/blacklist
# Install Sbotools
cd /tmp
wget https://slackbuilds.org/slackbuilds/15.0/system/sbotools.tar.gz
tar -xvzf sbotools.tar.gz
cd sbotools
wget https://pghvlaans.github.io/sbotools/downloads/sbotools-3.8.1.tar.gz
./sbotools.SlackBuild
cd
# Use generic kernel
# /usr/share/mkinitrd/mkinitrd_command_generator.sh -r | bash ### The old tool
geninitrd
grub-mkconfig -o /boot/grub/grub.cfg
# Copy bash config
cp etc/skel/.bash_profile /root
cp etc/skel/.bashrc /root
cp etc/skel/.bash_profile /etc/skel
cp etc/skel/.bashrc /etc/skel
################################################################################
### Usage specific configuration
# Desktop configuration
if [[ $desktop_or_server = desktop ]]; then
case "$desktop_or_server" in
desktop)
# Blacklist irrelevant groups
echo "kde/" >> /etc/slackpkg/blacklist
grep -qxF "e/" /etc/slackpkg/blacklist || echo "e/" >> /etc/slackpkg/blacklist
grep -qxF "xfce/" /etc/slackpkg/blacklist || echo "xfce/" >> /etc/slackpkg/blacklist
# X11 keymap
if [[ -n $utf8_locale ]]; then
echo
echo "Enter your keymap. (eg. fr-latin9)"
read -p "> " keymap
cp /usr/share/X11/xorg.conf.d/90-keyboard-layout-evdev.conf /etc/X11/xorg.conf.d/
sed -i '0,/Option "XkbLayout" "us"/s//Option "XkbLayout" "'$keymap'"/' /etc/X11/xorg.conf.d/90-keyboard-layout-evdev.conf
fi
# echo
# echo "Enter your keymap or let empty for keeping default one. (eg. fr)"
# read -p "> " keymap
# if [[ -n $keymap ]]; then
# mkdir -p /etc/X11/xorg.conf.d
# cp /usr/share/X11/xorg.conf.d/90-keyboard-layout-evdev.conf /etc/X11/xorg.conf.d/
# # sed -i '0,/Option "XkbLayout" "us"/s//Option "XkbLayout" "'$keymap'"/' /etc/X11/xorg.conf.d/90-keyboard-layout-evdev.conf
# sed -i "0,/Option \"XkbLayout\" \"us\"/s//Option \"XkbLayout\" \"$keymap\"/" /etc/X11/xorg.conf.d/90-keyboard-layout-evdev.conf
# fi
# Runlevel
sed -i 's/id:3:initdefault:/id:4:initdefault:/g' /etc/inittab
# Copy Slackware icon
cp usr/share/icons/Slackware.svg /usr/share/icons/
# Copy XFCE config
cp -r etc/skel/.config /etc/skel
# XDM Slackware theme
sboinstall -r slackware-xdm-theme
# Additional softwares
sboinstall -r ristretto
sboinstall -r thunar-archive-plugin
fi
# Server configuration
if [[ $desktop_or_server = server ]]; then
;;
server)
# Blacklist irrelevant groups
echo -e "kde/\nx/\nxap\nxfce/\ny/" >> /etc/slackpkg/blacklist
fi
grep -qxF "e/" /etc/slackpkg/blacklist || echo "e/" >> /etc/slackpkg/blacklist
grep -qxF "kde/" /etc/slackpkg/blacklist || echo "kde/" >> /etc/slackpkg/blacklist
grep -qxF "t/" /etc/slackpkg/blacklist || echo "t/" >> /etc/slackpkg/blacklist
grep -qxF "tcl/" /etc/slackpkg/blacklist || echo "tcl/" >> /etc/slackpkg/blacklist
grep -qxF "x/" /etc/slackpkg/blacklist || echo "x/" >> /etc/slackpkg/blacklist
grep -qxF "xap/" /etc/slackpkg/blacklist || echo "xap/" >> /etc/slackpkg/blacklist
grep -qxF "xfce/" /etc/slackpkg/blacklist || echo "xfce/" >> /etc/slackpkg/blacklist
grep -qxF "y/" /etc/slackpkg/blacklist || echo "y/" >> /etc/slackpkg/blacklist
;;
*)
echo "Invalid choice."
exit 1
;;
esac
################################################################################
### User
@@ -114,13 +105,6 @@ adduser
################################################################################
### End
# Exit from chroot
exit
# End message
echo
echo ">>> Done !"
sleep 10
# Reboot
reboot
echo ">>> Configuration complete."
echo "Exit the chroot and reboot when ready."
-1
View File
@@ -1 +0,0 @@
c302e306523b234bb025f1a74ee66d3037cfd25f2cc6ffd5f909e4d6278b5db6 sbopkg-0.38.2-noarch-1_wsr.tgz
Binary file not shown.
-145
View File
@@ -1,145 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://web.resource.org/cc/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="64px"
height="64px"
id="svg2160"
sodipodi:version="0.32"
inkscape:version="0.45"
sodipodi:docbase="/home/john/Desktop/slackwaresvg"
sodipodi:docname="slackware.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape"
sodipodi:modified="true">
<defs
id="defs2162">
<linearGradient
inkscape:collect="always"
id="linearGradient5027">
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop5029" />
<stop
style="stop-color:#ffffff;stop-opacity:0;"
offset="1"
id="stop5031" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient3141">
<stop
style="stop-color:#000000;stop-opacity:1;"
offset="0"
id="stop3143" />
<stop
style="stop-color:#000000;stop-opacity:0;"
offset="1"
id="stop3145" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3141"
id="linearGradient3147"
x1="2.363636"
y1="32.363636"
x2="61.454544"
y2="32.363636"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5027"
id="linearGradient5033"
x1="32"
y1="-29.818182"
x2="32.636364"
y2="33.272728"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5027"
id="linearGradient12051"
gradientUnits="userSpaceOnUse"
x1="35.931786"
y1="-27.919043"
x2="35.546909"
y2="19.087839" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="11.313708"
inkscape:cx="34.941429"
inkscape:cy="38.781249"
inkscape:current-layer="layer2"
showgrid="true"
inkscape:document-units="px"
inkscape:grid-bbox="true"
inkscape:window-width="1270"
inkscape:window-height="930"
inkscape:window-x="0"
inkscape:window-y="24" />
<metadata
id="metadata2165">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
id="layer1"
inkscape:label="Layer 1"
inkscape:groupmode="layer">
<path
sodipodi:type="arc"
style="fill:#8389fc;fill-opacity:1;stroke:url(#linearGradient3147);stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path2168"
sodipodi:cx="31.90909"
sodipodi:cy="32.363636"
sodipodi:rx="29.545454"
sodipodi:ry="29.09091"
d="M 61.454544 32.363636 A 29.545454 29.09091 0 1 1 2.363636,32.363636 A 29.545454 29.09091 0 1 1 61.454544 32.363636 z"
transform="matrix(-8.7265346e-3,-0.9999618,0.9999618,-8.7265346e-3,-0.1748581,64.553932)" />
<path
style="font-size:64px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-width:0.4;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch;stroke-miterlimit:4;stroke-dasharray:none"
d="M 18.658909,41.548364 C 18.658909,43.532362 19.49091,44.556364 20.962909,44.556364 C 21.666908,44.556364 22.69091,44.044363 24.162909,43.084364 C 27.682905,43.980364 30.818912,44.492364 33.634909,44.492364 C 41.442901,44.492364 45.858909,40.588359 45.858909,35.212364 C 45.858909,29.068371 41.570901,26.636364 33.314909,26.444364 C 27.170915,26.316365 23.586909,25.996361 23.586909,22.668364 C 23.586909,20.172367 25.954913,18.060364 30.114909,18.060364 C 33.378906,18.060364 35.682911,18.828367 38.050909,20.940364 C 39.906907,22.604363 40.54691,24.204364 41.954909,24.204364 C 43.490907,24.204364 44.066909,23.116362 44.066909,21.068364 L 44.066909,17.420364 C 44.066909,15.308367 43.362908,14.284364 41.954909,14.284364 C 40.290911,14.284364 39.650908,15.500364 38.754909,15.500364 C 37.85891,15.500364 35.362904,14.092364 30.818909,14.092364 C 23.074917,14.092364 18.786909,17.67637 18.786909,22.860364 C 18.786909,28.428359 23.330918,31.500364 31.842909,31.500364 C 32.738908,31.500364 33.314909,31.500364 33.634909,31.500364 C 38.370904,31.500364 40.674909,32.396368 40.674909,35.596364 C 40.674909,38.412362 37.858904,40.460364 33.314909,40.460364 C 29.090913,40.460364 25.506907,38.924362 23.842909,36.748364 C 22.62691,35.148366 22.818907,33.420364 20.898909,33.420364 C 19.234911,33.420364 18.658909,34.316366 18.658909,35.980364 L 18.658909,41.548364"
id="text5071" />
<path
style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:2.20000005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 15.052467,41.756279 L 14.948385,49.210097 L 49.95132,49.244272"
id="path5093" />
<path
style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.30000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 49.94457,50.251172 L 13.941099,50.248483 L 14.059778,41.749312 L 16.059582,41.777235 L 15.975809,47.776652 L 15.969463,48.231152 L 49.972496,48.251365 L 49.94457,50.251172 z "
id="path10031" />
</g>
<g
inkscape:groupmode="layer"
id="layer2">
<path
sodipodi:type="arc"
style="fill:url(#linearGradient12051);fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path5025"
sodipodi:cx="32.636364"
sodipodi:cy="5.6363635"
sodipodi:rx="36.636364"
sodipodi:ry="27.636364"
d="M 69.272728 5.6363635 A 36.636364 27.636364 0 1 1 -4,5.6363635 A 36.636364 27.636364 0 1 1 69.272728 5.6363635 z"
transform="matrix(0.6687345,0,0,0.7446098,10.11688,19.224801)" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 6.7 KiB