Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
M
MbetterLiveCD
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Mbetter
MbetterLiveCD
Commits
2dfa5d22
Commit
2dfa5d22
authored
Dec 10, 2025
by
Stefy Lanza (nextime / spora )
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update to xfce4
parent
ea73576c
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
418 additions
and
57 deletions
+418
-57
MbetterClient
MbetterClient
+0
-0
autoinstallergui.cpython-313.pyc
...nstaller_gui/__pycache__/autoinstallergui.cpython-313.pyc
+0
-0
autoinstallergui.py
autoinstaller_gui/autoinstallergui.py
+174
-33
override-live-config-lightdm.hook.chroot
config/hooks/live/override-live-config-lightdm.hook.chroot
+65
-0
lightdm.conf
config/includes.binary/lightdm.conf
+159
-21
pam.d-lightdm-autologin
config/includes.binary/pam.d-lightdm-autologin
+1
-0
setup-installed-system.sh
config/includes.binary/setup-installed-system.sh
+15
-2
MbetterClient
config/includes.chroot/usr/local/bin/MbetterClient
+0
-0
autoinstallergui
config/includes.chroot/usr/local/bin/autoinstallergui
+0
-0
live.list.chroot
config/package-lists/live.list.chroot
+4
-1
No files found.
MbetterClient
View file @
2dfa5d22
No preview for this file type
autoinstaller_gui/__pycache__/autoinstallergui.cpython-313.pyc
deleted
100644 → 0
View file @
ea73576c
File deleted
autoinstaller_gui/autoinstallergui.py
View file @
2dfa5d22
...
...
@@ -1459,17 +1459,20 @@ export XKB_DEFAULT_OPTIONS=""
# Create .xsession for proper X session startup
xsession_content
=
'''#!/bin/bash
# .xsession script for mbetterclient Kiosk setup (Openbox + Picom)
export PATH=/usr/local/bin:/usr/bin:/bin
export DISPLAY=:0
export QT_QPA_PLATFORM=xcb
#export QT_QUICK_BACKEND=software
#export QTWEBENGINE_CHROMIUM_FLAGS="--disable-gpu"
#export LIBGL_ALWAYS_SOFTWARE=1
# D-Bus configuration (essential for modern apps)
# .xsession script for mbetterclient Kiosk setup (Openbox + Picom)
export PATH=/usr/local/bin:/usr/bin:/bin
export DISPLAY=:0
export QT_QPA_PLATFORM=xcb
# Disable XFCE PolicyKit agent to prevent conflict with elogind
export XDG_CONFIG_HOME=/home/mbetterclient/.config
xfconf-query -c xfce4-session -p /compat/LaunchGNOME -s false -t bool
#export QT_QUICK_BACKEND=software
#export QTWEBENGINE_CHROMIUM_FLAGS="--disable-gpu"
#export LIBGL_ALWAYS_SOFTWARE=1
# D-Bus configuration (essential for modern apps)
if which dbus-launch >/dev/null && [ -z "$DBUS_SESSION_BUS_ADDRESS" ]; then
eval "$(dbus-launch --sh-syntax --exit-with-session)"
fi
...
...
@@ -1557,31 +1560,169 @@ wait $APP_PID
try
:
self
.
log
(
"Configuring lightdm.conf for mbetterclient autologin..."
)
lightdm_content
=
'''[Seat:*]
autologin-user=mbetterclient
autologin-user-timeout=0
lightdm_content
=
'''#
# General configuration
#
# start-default-seat = True to always start one seat if none are defined in the configuration
# greeter-user = User to run greeter as
# minimum-display-number = Minimum display number to use for X servers
# minimum-vt = First VT to run displays on
# lock-memory = True to prevent memory from being paged to disk
# user-authority-in-system-dir = True if session authority should be in the system location
# guest-account-script = Script to be run to setup guest account
# logind-check-graphical = True to on start seats that are marked as graphical by logind
# log-directory = Directory to log information to
# run-directory = Directory to put running state in
# cache-directory = Directory to cache to
# sessions-directory = Directory to find sessions
# remote-sessions-directory = Directory to find remote sessions
# greeters-directory = Directory to find greeters
# backup-logs = True to move add a .old suffix to old log files when opening new ones
# dbus-service = True if LightDM provides a D-Bus service to control it
#
[LightDM]
#start-default-seat=true
#greeter-user=lightdm
#minimum-display-number=0
#minimum-vt=7
#lock-memory=true
#user-authority-in-system-dir=false
#guest-account-script=guest-account
#logind-check-graphical=true
#log-directory=/var/log/lightdm
#run-directory=/var/run/lightdm
#cache-directory=/var/cache/lightdm
#sessions-directory=/usr/share/lightdm/sessions:/usr/share/xsessions:/usr/share/wayland-sessions
#remote-sessions-directory=/usr/share/lightdm/remote-sessions
#greeters-directory=$XDG_DATA_DIRS/lightdm/greeters:$XDG_DATA_DIRS/xgreeters
#backup-logs=true
#dbus-service=true
#
# Seat configuration
#
# Seat configuration is matched against the seat name glob in the section, for example:
# [Seat:*] matches all seats and is applied first.
# [Seat:seat0] matches the seat named "seat0".
# [Seat:seat-thin-client*] matches all seats that have names that start with "seat-thin-client".
#
# type = Seat type (local, xremote)
# pam-service = PAM service to use for login
# pam-autologin-service = PAM service to use for autologin
# pam-greeter-service = PAM service to use for greeters
# xserver-command = X server command to run (can also contain arguments e.g. X -special-option)
# xmir-command = Xmir server command to run (can also contain arguments e.g. Xmir -special-option)
# xserver-config = Config file to pass to X server
# xserver-layout = Layout to pass to X server
# xserver-allow-tcp = True if TCP/IP connections are allowed to this X server
# xserver-share = True if the X server is shared for both greeter and session
# xserver-hostname = Hostname of X server (only for type=xremote)
# xserver-display-number = Display number of X server (only for type=xremote)
# xdmcp-manager = XDMCP manager to connect to (implies xserver-allow-tcp=true)
# xdmcp-port = XDMCP UDP/IP port to communicate on
# xdmcp-key = Authentication key to use for XDM-AUTHENTICATION-1 (stored in keys.conf)
# greeter-session = Session to load for greeter
# greeter-hide-users = True to hide the user list
# greeter-allow-guest = True if the greeter should show a guest login option
# greeter-show-manual-login = True if the greeter should offer a manual login option
# greeter-show-remote-login = True if the greeter should offer a remote login option
# user-session = Session to load for users
# allow-user-switching = True if allowed to switch users
# allow-guest = True if guest login is allowed
# guest-session = Session to load for guests (overrides user-session)
# session-wrapper = Wrapper script to run session with
# greeter-wrapper = Wrapper script to run greeter with
# guest-wrapper = Wrapper script to run guest sessions with
# display-setup-script = Script to run when starting a greeter session (runs as root)
# display-stopped-script = Script to run after stopping the display server (runs as root)
# greeter-setup-script = Script to run when starting a greeter (runs as root)
# session-setup-script = Script to run when starting a user session (runs as root)
# session-cleanup-script = Script to run when quitting a user session (runs as root)
# autologin-guest = True to log in as guest by default
# autologin-user = User to log in with by default (overrides autologin-guest)
# autologin-user-timeout = Number of seconds to wait before loading default user
# autologin-session = Session to load for automatic login (overrides user-session)
# autologin-in-background = True if autologin session should not be immediately activated
# exit-on-failure = True if the daemon should exit if this seat fails
#
[Seat:*]
#type=local
#pam-service=lightdm
#pam-autologin-service=lightdm-autologin
#pam-greeter-service=lightdm-greeter
#xserver-command=X
#xmir-command=Xmir
#xserver-config=
#xserver-layout=
#xserver-allow-tcp=false
#xserver-share=true
#xserver-hostname=
#xserver-display-number=
#xdmcp-manager=
#xdmcp-port=177
#xdmcp-key=
greeter-session=lightdm-gtk-greeter
greeter-hide-users=false
greeter-show-manual-login=true
greeter-show-remote-login=false
#greeter-hide-users=false
#greeter-allow-guest=true
#greeter-show-manual-login=false
#greeter-show-remote-login=true
#user-session=xfce4
display-setup-script=/usr/local/bin/lightdm-display-setup
session-setup-script=/usr/local/bin/lightdm-session-setup
#allow-user-switching=true
#allow-guest=true
#guest-session=
#session-wrapper=lightdm-session
#greeter-wrapper=
#guest-wrapper=
#display-setup-script=
#display-stopped-script=
#greeter-setup-script=
#session-setup-script=
#session-cleanup-script=
#autologin-guest=false
autologin-user=mbetterclient
autologin-user-timeout=0
#autologin-in-background=false
#autologin-session=
#exit-on-failure=false
[LightDM]
minimum-display-number=0
minimum-vt=7
lock-memory=true
user-authority-in-system-dir=false
guest-account-script=guest-account
logind-check-graphical=false
log-directory=/var/log/lightdm
run-directory=/run/lightdm
cache-directory=/var/cache/lightdm
sessions-directory=/usr/share/xsessions
remote-sessions-directory=/usr/share/xgreeters
greeters-directory=/usr/share/xgreeters
backup-logs=true
#
# XDMCP Server configuration
#
# enabled = True if XDMCP connections should be allowed
# port = UDP/IP port to listen for connections on
# listen-address = Host/address to listen for XDMCP connections (use all addresses if not present)
# key = Authentication key to use for XDM-AUTHENTICATION-1 or blank to not use authentication (stored in keys.conf)
# hostname = Hostname to report to XDMCP clients (defaults to system hostname if unset)
#
# The authentication key is a 56 bit DES key specified in hex as 0xnnnnnnnnnnnnnn. Alternatively
# it can be a word and the first 7 characters are used as the key.
#
[XDMCPServer]
#enabled=false
#port=177
#listen-address=
#key=
#hostname=
#
# VNC Server configuration
#
# enabled = True if VNC connections should be allowed
# command = Command to run Xvnc server with
# port = TCP/IP port to listen for connections on
# listen-address = Host/address to listen for VNC connections (use all addresses if not present)
# width = Width of display to use
# height = Height of display to use
# depth = Color depth of display to use
#
[VNCServer]
#enabled=false
#command=Xvnc
#port=5900
#listen-address=
#width=1024
#height=768
#depth=8
'''
lightdm_path
=
f
"{target_mount}/etc/lightdm/lightdm.conf"
...
...
config/hooks/live/override-live-config-lightdm.hook.chroot
0 → 100644
View file @
2dfa5d22
#!/bin/sh
set
-e
echo
"Overriding live-config lightdm script to force autologin-user=root..."
# Override lightdm config script
LIGHTDM_CONFIG
=
"/usr/lib/live/config/0100-lightdm"
if
[
-f
"
$LIGHTDM_CONFIG
"
]
;
then
cp
"
$LIGHTDM_CONFIG
"
"
${
LIGHTDM_CONFIG
}
.original"
cat
>
"
$LIGHTDM_CONFIG
"
<<
'
EOF
'
#!/bin/sh
. /lib/live/config.sh
## live-config(7) - Modified to force autologin-user=root
#set -e
Cmdline ()
{
# Reading kernel command line
for _PARAMETER in
${
LIVE_CONFIG_CMDLINE
}
do
case "
${
_PARAMETER
}
" in
live-config.username=*|username=*)
LIVE_USERNAME="
${
_PARAMETER
#*username=
}
"
;;
esac
done
# Force root username for autologin
LIVE_USERNAME="root"
}
Init ()
{
if [ -n "
${
LIVE_USERNAME
}
" ]
then
echo -n " lightdm"
fi
}
Config ()
{
if [ -n "
${
LIVE_USERNAME
}
" ]
then
sed -i -r -e "s|^#.*autologin-user=.*\
$|
autologin-user=root|" \
-e "s|^#.*autologin-user-timeout=.*\
$|
autologin-user-timeout=0|" \
/etc/lightdm/lightdm.conf
fi
}
Cmdline
Init
Config
EOF
chmod
+x
"
$LIGHTDM_CONFIG
"
echo
"Replaced lightdm config script to force autologin-user=root"
fi
echo
"Live-config lightdm override completed"
\ No newline at end of file
config/includes.binary/lightdm.conf
View file @
2dfa5d22
#
# General configuration
#
# start-default-seat = True to always start one seat if none are defined in the configuration
# greeter-user = User to run greeter as
# minimum-display-number = Minimum display number to use for X servers
# minimum-vt = First VT to run displays on
# lock-memory = True to prevent memory from being paged to disk
# user-authority-in-system-dir = True if session authority should be in the system location
# guest-account-script = Script to be run to setup guest account
# logind-check-graphical = True to on start seats that are marked as graphical by logind
# log-directory = Directory to log information to
# run-directory = Directory to put running state in
# cache-directory = Directory to cache to
# sessions-directory = Directory to find sessions
# remote-sessions-directory = Directory to find remote sessions
# greeters-directory = Directory to find greeters
# backup-logs = True to move add a .old suffix to old log files when opening new ones
# dbus-service = True if LightDM provides a D-Bus service to control it
#
[
LightDM
]
#start-default-seat=true
#greeter-user=lightdm
#minimum-display-number=0
#minimum-vt=7
#lock-memory=true
#user-authority-in-system-dir=false
#guest-account-script=guest-account
#logind-check-graphical=true
#log-directory=/var/log/lightdm
#run-directory=/var/run/lightdm
#cache-directory=/var/cache/lightdm
#sessions-directory=/usr/share/lightdm/sessions:/usr/share/xsessions:/usr/share/wayland-sessions
#remote-sessions-directory=/usr/share/lightdm/remote-sessions
#greeters-directory=$XDG_DATA_DIRS/lightdm/greeters:$XDG_DATA_DIRS/xgreeters
#backup-logs=true
#dbus-service=true
#
# Seat configuration
#
# Seat configuration is matched against the seat name glob in the section, for example:
# [Seat:*] matches all seats and is applied first.
# [Seat:seat0] matches the seat named "seat0".
# [Seat:seat-thin-client*] matches all seats that have names that start with "seat-thin-client".
#
# type = Seat type (local, xremote)
# pam-service = PAM service to use for login
# pam-autologin-service = PAM service to use for autologin
# pam-greeter-service = PAM service to use for greeters
# xserver-command = X server command to run (can also contain arguments e.g. X -special-option)
# xmir-command = Xmir server command to run (can also contain arguments e.g. Xmir -special-option)
# xserver-config = Config file to pass to X server
# xserver-layout = Layout to pass to X server
# xserver-allow-tcp = True if TCP/IP connections are allowed to this X server
# xserver-share = True if the X server is shared for both greeter and session
# xserver-hostname = Hostname of X server (only for type=xremote)
# xserver-display-number = Display number of X server (only for type=xremote)
# xdmcp-manager = XDMCP manager to connect to (implies xserver-allow-tcp=true)
# xdmcp-port = XDMCP UDP/IP port to communicate on
# xdmcp-key = Authentication key to use for XDM-AUTHENTICATION-1 (stored in keys.conf)
# greeter-session = Session to load for greeter
# greeter-hide-users = True to hide the user list
# greeter-allow-guest = True if the greeter should show a guest login option
# greeter-show-manual-login = True if the greeter should offer a manual login option
# greeter-show-remote-login = True if the greeter should offer a remote login option
# user-session = Session to load for users
# allow-user-switching = True if allowed to switch users
# allow-guest = True if guest login is allowed
# guest-session = Session to load for guests (overrides user-session)
# session-wrapper = Wrapper script to run session with
# greeter-wrapper = Wrapper script to run greeter with
# guest-wrapper = Wrapper script to run guest sessions with
# display-setup-script = Script to run when starting a greeter session (runs as root)
# display-stopped-script = Script to run after stopping the display server (runs as root)
# greeter-setup-script = Script to run when starting a greeter (runs as root)
# session-setup-script = Script to run when starting a user session (runs as root)
# session-cleanup-script = Script to run when quitting a user session (runs as root)
# autologin-guest = True to log in as guest by default
# autologin-user = User to log in with by default (overrides autologin-guest)
# autologin-user-timeout = Number of seconds to wait before loading default user
# autologin-session = Session to load for automatic login (overrides user-session)
# autologin-in-background = True if autologin session should not be immediately activated
# exit-on-failure = True if the daemon should exit if this seat fails
#
[
Seat
:*]
#type=local
#pam-service=lightdm
#pam-autologin-service=lightdm-autologin
#pam-greeter-service=lightdm-greeter
#xserver-command=X
#xmir-command=Xmir
#xserver-config=
#xserver-layout=
#xserver-allow-tcp=false
#xserver-share=true
#xserver-hostname=
#xserver-display-number=
#xdmcp-manager=
#xdmcp-port=177
#xdmcp-key=
greeter
-
session
=
lightdm
-
gtk
-
greeter
#greeter-hide-users=false
#greeter-allow-guest=true
#greeter-show-manual-login=false
#greeter-show-remote-login=true
#user-session=xfce4
#allow-user-switching=true
#allow-guest=true
#guest-session=
#session-wrapper=lightdm-session
#greeter-wrapper=
#guest-wrapper=
#display-setup-script=
#display-stopped-script=
#greeter-setup-script=
#session-setup-script=
#session-cleanup-script=
#autologin-guest=false
autologin
-
user
=
root
autologin
-
user
-
timeout
=
0
greeter
-
session
=
lightdm
-
gtk
-
greeter
greeter
-
hide
-
users
=
false
greeter
-
show
-
manual
-
login
=
true
greeter
-
show
-
remote
-
login
=
false
user
-
session
=
openbox
-
session
display
-
setup
-
script
=/
usr
/
local
/
bin
/
lightdm
-
display
-
setup
session
-
setup
-
script
=/
usr
/
local
/
bin
/
lightdm
-
session
-
setup
#autologin-in-background=false
#autologin-session=
#exit-on-failure=false
[
LightDM
]
minimum
-
display
-
number
=
0
minimum
-
vt
=
7
lock
-
memory
=
true
user
-
authority
-
in
-
system
-
dir
=
false
guest
-
account
-
script
=
guest
-
account
logind
-
check
-
graphical
=
false
log
-
directory
=/
var
/
log
/
lightdm
run
-
directory
=/
run
/
lightdm
cache
-
directory
=/
var
/
cache
/
lightdm
sessions
-
directory
=/
usr
/
share
/
xsessions
remote
-
sessions
-
directory
=/
usr
/
share
/
xgreeters
greeters
-
directory
=/
usr
/
share
/
xgreeters
backup
-
logs
=
true
\ No newline at end of file
#
# XDMCP Server configuration
#
# enabled = True if XDMCP connections should be allowed
# port = UDP/IP port to listen for connections on
# listen-address = Host/address to listen for XDMCP connections (use all addresses if not present)
# key = Authentication key to use for XDM-AUTHENTICATION-1 or blank to not use authentication (stored in keys.conf)
# hostname = Hostname to report to XDMCP clients (defaults to system hostname if unset)
#
# The authentication key is a 56 bit DES key specified in hex as 0xnnnnnnnnnnnnnn. Alternatively
# it can be a word and the first 7 characters are used as the key.
#
[
XDMCPServer
]
#enabled=false
#port=177
#listen-address=
#key=
#hostname=
#
# VNC Server configuration
#
# enabled = True if VNC connections should be allowed
# command = Command to run Xvnc server with
# port = TCP/IP port to listen for connections on
# listen-address = Host/address to listen for VNC connections (use all addresses if not present)
# width = Width of display to use
# height = Height of display to use
# depth = Color depth of display to use
#
[
VNCServer
]
#enabled=false
#command=Xvnc
#port=5900
#listen-address=
#width=1024
#height=768
#
depth
=
8
\ No newline at end of file
config/includes.binary/pam.d-lightdm-autologin
View file @
2dfa5d22
#%PAM-1.0
#auth required pam_succeed_if.so user != root quiet_success
auth required pam_env.so
auth required pam_permit.so
@include common-account
...
...
config/includes.binary/setup-installed-system.sh
View file @
2dfa5d22
...
...
@@ -29,8 +29,12 @@ cat > "$TARGET_MOUNT/root/.xsession" << 'EOF'
#!/bin/bash
# Xsession for installed system with OpenVPN and MBetterClient
# Start Openbox window manager in background
openbox &
# Disable XFCE PolicyKit agent to prevent conflict with elogind
export XDG_CONFIG_HOME=/root/.config
xfconf-query -c xfce4-session -p /compat/LaunchGNOME -s false -t bool
# Start XFCE4 window manager in background
startxfce4 &
# Wait for X11 to be ready
sleep 2
...
...
@@ -120,6 +124,15 @@ elif [ -d "$TARGET_MOUNT/etc/init.d" ]; then
fi
echo
"SSH service enabled on installed system"
# 8.5. Install xfce4-power-manager-plugins on installed system
echo
"Installing xfce4-power-manager-plugins on installed system..."
if
[
-f
"
$TARGET_MOUNT
/etc/apt/sources.list"
]
;
then
chroot
"
$TARGET_MOUNT
"
apt-get update
chroot
"
$TARGET_MOUNT
"
apt-get
install
-y
xfce4-power-manager-plugins
else
echo
"Warning: Cannot install xfce4-power-manager-plugins - no sources.list found"
fi
# 9. Configure fstab - ensure no overlay fs and no tmpfs for /tmp
echo
"Configuring fstab for installed system..."
if
[
-f
"
$TARGET_MOUNT
/etc/fstab"
]
;
then
...
...
config/includes.chroot/usr/local/bin/MbetterClient
View file @
2dfa5d22
No preview for this file type
config/includes.chroot/usr/local/bin/autoinstallergui
View file @
2dfa5d22
No preview for this file type
config/package-lists/live.list.chroot
View file @
2dfa5d22
...
...
@@ -113,7 +113,7 @@ vim
# Font packages
fonts-noto-color-emoji
fonts-symbola
fonts-twemoji
#
fonts-twemoji
fonts-recommended
fonts-dejavu
fonts-liberation
...
...
@@ -152,6 +152,9 @@ laptop-detect
# VMware tools for virtual machine support
open-vm-tools
# XFCE power manager plugins
xfce4-power-manager-plugins
# Additional WiFi and network utilities
ethtool
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment