36 lines
1.5 KiB
Bash
Executable File
36 lines
1.5 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
USERNAME=$1
|
|
PASSWORD=$2
|
|
|
|
# Create user
|
|
useradd -m -s /bin/bash $USERNAME
|
|
|
|
# Set password
|
|
echo "$USERNAME:$PASSWORD" | chpasswd
|
|
|
|
# Add user to sudo group
|
|
usermod -aG sudo $USERNAME
|
|
|
|
# Set up VNC for the user
|
|
su - $USERNAME -c "mkdir -p ~/.vnc && x11vnc -storepasswd $PASSWORD ~/.vnc/passwd"
|
|
|
|
# Set up X11 forwarding for the user
|
|
echo "export DISPLAY=host.docker.internal:0" >> /home/$USERNAME/.bashrc
|
|
|
|
# Set up PulseAudio
|
|
su - $USERNAME -c "mkdir -p ~/.config/pulse"
|
|
su - $USERNAME -c "echo 'autospawn = yes' > ~/.config/pulse/client.conf"
|
|
su - $USERNAME -c "echo 'daemon-binary = /usr/bin/pulseaudio' >> ~/.config/pulse/client.conf"
|
|
su - $USERNAME -c "echo 'enable-shm = false' >> ~/.config/pulse/client.conf"
|
|
su - $USERNAME -c "echo 'enable-memfd = yes' >> ~/.config/pulse/client.conf"
|
|
|
|
su - $USERNAME -c "echo 'load-module module-native-protocol-unix' > ~/.config/pulse/default.pa"
|
|
su - $USERNAME -c "echo 'load-module module-native-protocol-tcp auth-anonymous=1' >> ~/.config/pulse/default.pa"
|
|
su - $USERNAME -c "echo 'load-module module-always-sink' >> ~/.config/pulse/default.pa"
|
|
# su - $USERNAME -c "echo 'load-module module-null-sink' >> ~/.config/pulse/default.pa"
|
|
# su - $USERNAME -c "echo 'load-module module-pipe-sink' >> ~/.config/pulse/default.pa"
|
|
su - $USERNAME -c "echo 'load-module module-virtual-sink sink_name=virtual_output' >> ~/.config/pulse/default.pa"
|
|
su - $USERNAME -c "echo 'set-default-sink virtual_output' >> ~/.config/pulse/default.pa"
|
|
|
|
echo "User $USERNAME created with the provided password and PulseAudio configured." |