mirror of
https://github.com/kasmtech/KasmVNC.git
synced 2025-02-09 07:00:51 +01:00
Easy start script: choose DE to run spike
This commit is contained in:
parent
72affbfcf4
commit
640a195e3e
@ -34,6 +34,9 @@ RUN apt-get purge -y pm-utils xscreensaver*
|
||||
RUN apt-get update && apt-get install -y vim less
|
||||
RUN apt-get update && apt-get -y install lsb-release
|
||||
|
||||
RUN apt-get update && apt-get install -y task-cinnamon-desktop
|
||||
RUN apt-get update && apt-get install -y task-gnome-desktop
|
||||
|
||||
RUN echo 'source $STARTUPDIR/generate_container_user' >> $HOME/.bashrc
|
||||
|
||||
RUN mkdir -p $STARTUPDIR
|
||||
@ -51,4 +54,9 @@ RUN chown -R 1000:0 $HOME
|
||||
USER 1000:ssl-cert
|
||||
WORKDIR $HOME
|
||||
|
||||
COPY $KASMVNC_PACKAGE_DIR/xstartup $HOME/
|
||||
COPY $KASMVNC_PACKAGE_DIR/kasmvncserver-easy-start $HOME/
|
||||
RUN mkdir ~/.vnc && cp xstartup ~/.vnc/xstartup && \
|
||||
chmod +x ~/.vnc/xstartup
|
||||
|
||||
ENTRYPOINT [ "/dockerstartup/vnc_startup.sh" ]
|
||||
|
@ -6,6 +6,37 @@ display=:10
|
||||
interface=0.0.0.0
|
||||
cert_group=ssl-cert
|
||||
|
||||
declare -A all_desktop_environments=([Cinnamon]=cinnamon-session)
|
||||
detected_desktop_environments=()
|
||||
|
||||
print_detected_desktop_environments() {
|
||||
declare -i i=1
|
||||
|
||||
echo "Detected DEs:"
|
||||
for detected_de in "${detected_desktop_environments[@]}"; do
|
||||
echo "[$i] $detected_de"
|
||||
i+=1
|
||||
done
|
||||
}
|
||||
|
||||
detect_desktop_environments() {
|
||||
for de_name in "${!all_desktop_environments[@]}"; do
|
||||
local executable=${all_desktop_environments[$de_name]}
|
||||
|
||||
detected_desktop_environments+=("$de_name")
|
||||
detect_desktop_environment "$de_name" "$executable"
|
||||
done
|
||||
}
|
||||
|
||||
detect_desktop_environment() {
|
||||
local de_name="$1"
|
||||
local executable="$2"
|
||||
|
||||
if command -v "$executable" &>/dev/null; then
|
||||
echo "Detected $de_name"
|
||||
fi
|
||||
}
|
||||
|
||||
if [[ "$1" = "--help" ]]; then
|
||||
cat >&2 <<-USAGE
|
||||
Usage: `basename $0` [options]
|
||||
@ -38,6 +69,10 @@ if [[ "$action" = "kill" ]]; then
|
||||
exit
|
||||
fi
|
||||
|
||||
detect_desktop_environments
|
||||
print_detected_desktop_environments
|
||||
echo "Please choose DE to run"
|
||||
|
||||
vncserver $display -interface $interface
|
||||
vncserver -kill $display
|
||||
vncserver $display -depth 24 -geometry 1280x1050 -websocketPort 8443 \
|
||||
|
@ -61,6 +61,8 @@ kasmvncpasswd -d -u "$VNC_USER-to-delete" $HOME/.kasmpasswd
|
||||
chmod 0600 $HOME/.kasmpasswd
|
||||
openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout $HOME/.vnc/self.pem -out $HOME/.vnc/self.pem -subj "/C=US/ST=VA/L=None/O=None/OU=DoFu/CN=kasm/emailAddress=none@none.none"
|
||||
|
||||
exec /bin/bash
|
||||
|
||||
vncserver :1 -interface 0.0.0.0
|
||||
vncserver -kill :1
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user