#!/bin/bash # Install required packages sudo apt update sudo apt install -y \ avahi-daemon \ avahi-discover \ samba \ samba-common-bin \ tigervnc-standalone-server \ libnss-mdns # Configure Samba sudo cat > /etc/samba/smb.conf << 'EOF' [global] workgroup = WORKGROUP server string = %h server mdns name = mdns multicast dns register = yes wins support = yes dns proxy = no log file = /var/log/samba/log.%m max log size = 1000 client min protocol = SMB2 server min protocol = SMB2 server role = standalone server passdb backend = tdbsam obey pam restrictions = yes unix password sync = yes passwd program = /usr/bin/passwd %u passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* . pam password change = yes map to guest = bad user usershare allow guests = yes name resolve order = bcast host security = user guest account = nobody usershare path = /var/lib/samba/usershare usershare max shares = 100 usershare owner only = false force create mode = 0070 force directory mode = 0070 [homes] comment = Home Directories browseable = yes read only = no create mask = 0700 directory mask = 0700 valid users = %S [Public] comment = Public Files path = /home/public public = yes writable = yes create mask = 0664 force create mode = 0664 directory mask = 0775 force directory mode = 0775 guest ok = yes EOF # Create public share directory sudo mkdir -p /home/public sudo chmod 777 /home/public # Configure Avahi for VNC advertisement sudo cat > /etc/avahi/services/vnc.service << 'EOF' %h _rfb._tcp 5900 EOF # Configure Avahi for SMB advertisement sudo cat > /etc/avahi/services/smb.service << 'EOF' %h _smb._tcp 445 _device-info._tcp 0 model=RackMac EOF # Restart services sudo systemctl restart avahi-daemon sudo systemctl restart smbd sudo systemctl restart nmbd # Create Samba user (run this interactively) echo "Create a Samba user matching your Linux username:" echo "sudo smbpasswd -a \$USER" # Setup VNC mkdir -p ~/.vnc vncpasswd cat > ~/.vnc/xstartup << 'EOF' #!/bin/sh unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS exec startxfce4 EOF chmod +x ~/.vnc/xstartup vncserver :1 -geometry 1920x1080 -depth 24