mirror of
https://github.com/kasmtech/KasmVNC.git
synced 2025-02-10 15:39:36 +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 install -y vim less
|
||||||
RUN apt-get update && apt-get -y install lsb-release
|
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 echo 'source $STARTUPDIR/generate_container_user' >> $HOME/.bashrc
|
||||||
|
|
||||||
RUN mkdir -p $STARTUPDIR
|
RUN mkdir -p $STARTUPDIR
|
||||||
@ -51,4 +54,9 @@ RUN chown -R 1000:0 $HOME
|
|||||||
USER 1000:ssl-cert
|
USER 1000:ssl-cert
|
||||||
WORKDIR $HOME
|
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" ]
|
ENTRYPOINT [ "/dockerstartup/vnc_startup.sh" ]
|
||||||
|
@ -6,6 +6,37 @@ display=:10
|
|||||||
interface=0.0.0.0
|
interface=0.0.0.0
|
||||||
cert_group=ssl-cert
|
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
|
if [[ "$1" = "--help" ]]; then
|
||||||
cat >&2 <<-USAGE
|
cat >&2 <<-USAGE
|
||||||
Usage: `basename $0` [options]
|
Usage: `basename $0` [options]
|
||||||
@ -38,6 +69,10 @@ if [[ "$action" = "kill" ]]; then
|
|||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
detect_desktop_environments
|
||||||
|
print_detected_desktop_environments
|
||||||
|
echo "Please choose DE to run"
|
||||||
|
|
||||||
vncserver $display -interface $interface
|
vncserver $display -interface $interface
|
||||||
vncserver -kill $display
|
vncserver -kill $display
|
||||||
vncserver $display -depth 24 -geometry 1280x1050 -websocketPort 8443 \
|
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
|
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"
|
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 :1 -interface 0.0.0.0
|
||||||
vncserver -kill :1
|
vncserver -kill :1
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user