| #!/bin/bash |
| |
| |
| |
| |
| set -euo pipefail |
|
|
| log() { echo "[UBUNTU] $*"; } |
|
|
| export HOME=/data/home |
| export USER=ubuntu |
|
|
| |
| DOWNLOADS_LINK=/data/home/Downloads |
| if [ -d "$DOWNLOADS_LINK" ] && [ ! -L "$DOWNLOADS_LINK" ]; then |
| |
| cp -rn "$DOWNLOADS_LINK/." /data/downloads/ 2>/dev/null || true |
| rm -rf "$DOWNLOADS_LINK" |
| fi |
| if [ ! -L "$DOWNLOADS_LINK" ]; then |
| ln -sf /data/downloads "$DOWNLOADS_LINK" |
| log "Symlinked Downloads β /data/downloads" |
| fi |
|
|
| |
| FIREFOX_DIR=/data/home/.mozilla/firefox |
| if [ -d "$FIREFOX_DIR" ] && [ ! -L "$FIREFOX_DIR" ]; then |
| cp -rn "$FIREFOX_DIR/." /data/firefox/ 2>/dev/null || true |
| rm -rf "$FIREFOX_DIR" |
| fi |
| if [ ! -L "$FIREFOX_DIR" ]; then |
| ln -sf /data/firefox "$FIREFOX_DIR" |
| log "Symlinked Firefox profile β /data/firefox" |
| fi |
|
|
| |
| mkdir -p /data/home/.config/xfce4 |
| if [ ! -L /data/home/.config/xfce4 ]; then |
| log "XFCE config dir ready at /data/home/.config/xfce4" |
| fi |
|
|
| |
| mkdir -p /tmp/runtime-ubuntu |
| chown ubuntu:ubuntu /tmp/runtime-ubuntu |
| chmod 700 /tmp/runtime-ubuntu |
|
|
| |
| if [ ! -f /data/home/.bashrc ]; then |
| cat > /data/home/.bashrc << 'EOF' |
| |
| export HOME=/data/home |
| export WORKSPACE=/data/workspace |
| export PS1='\[\033[01;32m\]ubuntu@hf-space\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' |
| alias ll='ls -alF' |
| alias la='ls -A' |
| alias workspace='cd /data/workspace' |
| echo "Welcome to your Ubuntu Desktop on Hugging Face Spaces!" |
| echo "Workspace: /data/workspace | Home: /data/home" |
| EOF |
| log "Created .bashrc" |
| fi |
|
|
| |
| DESKTOP_DIR=/data/home/Desktop |
| cat > "$DESKTOP_DIR/workspace.desktop" << 'EOF' |
| [Desktop Entry] |
| Version=1.0 |
| Type=Application |
| Name=Workspace |
| Comment=Open persistent workspace folder |
| Exec=thunar /data/workspace |
| Icon=folder-documents |
| Terminal=false |
| Categories=Utility; |
| EOF |
| chmod +x "$DESKTOP_DIR/workspace.desktop" |
|
|
| |
| cat > "$DESKTOP_DIR/terminal.desktop" << 'EOF' |
| [Desktop Entry] |
| Version=1.0 |
| Type=Application |
| Name=Terminal |
| Comment=Open XFCE Terminal |
| Exec=xfce4-terminal |
| Icon=utilities-terminal |
| Terminal=false |
| Categories=System;TerminalEmulator; |
| EOF |
| chmod +x "$DESKTOP_DIR/terminal.desktop" |
|
|
| |
| chown -R ubuntu:ubuntu /data/home |
|
|
| log "Ubuntu user environment ready." |
|
|