Skip to content

Commit

Permalink
create a xfce kiosk file (#1737)
Browse files Browse the repository at this point in the history
  • Loading branch information
xpillons authored Oct 12, 2023
1 parent 89181d8 commit 6d45027
Show file tree
Hide file tree
Showing 7 changed files with 51 additions and 24 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -11,18 +11,7 @@ cd "${HOME}"
#
# Launch Xfce Window Manager and Panel
#

(
module restore
export XDG_CONFIG_HOME="<%= session.staged_root.join("config") %>"
export XDG_DATA_HOME="<%= session.staged_root.join("share") %>"
export XDG_CACHE_HOME="$(mktemp -d)"
xfwm4 --compositor=off --daemon --sm-client-disable
xsetroot -solid "#D3D3D3"
xfsettingsd --sm-client-disable
export XFCE_PANEL_MIGRATE_DEFAULT=yes
xfce4-panel --sm-client-disable
) &
source "<%= session.staged_root.join("xfce_kiosk.sh") %>"

#
# Start ANSYS Workbench
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,17 +9,7 @@ module purge
cd "${HOME}"

# Launch Xfce Window Manager and Panel
(
module restore
export XDG_CONFIG_HOME="<%= session.staged_root.join("config") %>"
export XDG_DATA_HOME="<%= session.staged_root.join("share") %>"
export XDG_CACHE_HOME="$(mktemp -d)"
xfwm4 --compositor=off --daemon --sm-client-disable
xsetroot -solid "#D3D3D3"
xfsettingsd --sm-client-disable
export XFCE_PANEL_MIGRATE_DEFAULT=yes
xfce4-panel --sm-client-disable
) &
source "<%= session.staged_root.join("xfce_kiosk.sh") %>"

<%- if gpu -%>
GL_LAUNCHER="vglrun"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@ cd "${HOME}"
#
# Launch Xfce Window Manager and Panel
#
source "<%= session.staged_root.join("xfce.sh") %>"

source "<%= session.staged_root.join("xfce_kiosk.sh") %>"

#
# Start VMD
Expand Down
44 changes: 44 additions & 0 deletions playbooks/roles/ood-applications/files/library/xfce_kiosk.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# Remove any preconfigured monitors
if [[ -f "${HOME}/.config/monitors.xml" ]]; then
mv "${HOME}/.config/monitors.xml" "${HOME}/.config/monitors.xml.bak"
fi

# Copy over default panel if doesn't exist, otherwise it will prompt the user
PANEL_CONFIG="${HOME}/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml"
if [[ ! -e "${PANEL_CONFIG}" ]]; then
mkdir -p "$(dirname "${PANEL_CONFIG}")"
cp "/etc/xdg/xfce4/panel/default.xml" "${PANEL_CONFIG}"
fi

# Disable startup services
xfconf-query -c xfce4-session -p /startup/ssh-agent/enabled -n -t bool -s false
xfconf-query -c xfce4-session -p /startup/gpg-agent/enabled -n -t bool -s false

# Disable useless services on autostart
AUTOSTART="${HOME}/.config/autostart"
rm -fr "${AUTOSTART}" # clean up previous autostarts
mkdir -p "${AUTOSTART}"
for service in "pulseaudio" "rhsm-icon" "spice-vdagent" "tracker-extract" "tracker-miner-apps" "tracker-miner-user-guides" "xfce4-power-manager" "xfce-polkit"; do
echo -e "[Desktop Entry]\nHidden=true" > "${AUTOSTART}/${service}.desktop"
done

# Run Xfce4 Terminal as login shell (sets proper TERM)
TERM_CONFIG="${HOME}/.config/xfce4/terminal/terminalrc"
if [[ ! -e "${TERM_CONFIG}" ]]; then
mkdir -p "$(dirname "${TERM_CONFIG}")"
sed 's/^ \{4\}//' > "${TERM_CONFIG}" << EOL
[Configuration]
CommandLoginShell=TRUE
EOL
else
sed -i \
'/^CommandLoginShell=/{h;s/=.*/=TRUE/};${x;/^$/{s//CommandLoginShell=TRUE/;H};x}' \
"${TERM_CONFIG}"
fi

# launch dbus first through eval becuase it can conflict with a conda environment
# see https://github.com/OSC/ondemand/issues/700
eval $(dbus-launch --sh-syntax)

# Start up xfce desktop in kiosk mode
(xfce4-session ) &

0 comments on commit 6d45027

Please sign in to comment.