-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathubuntu_gnome.def
93 lines (81 loc) · 2.24 KB
/
ubuntu_gnome.def
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
Bootstrap: docker
From: ubuntu:latest
%setup
# No additional setup required outside the container.
%environment
export DISPLAY=localhost:10.0
export LC_ALL=C.UTF-8
export LANG=C.UTF-8
export XDG_RUNTIME_DIR=/tmp/xdg-runtime
%post
# Update package list and upgrade existing packages
apt update && apt upgrade -y
# Install GNOME desktop environment and essential packages
apt install -y \
ubuntu-desktop-minimal \
gnome-terminal \
xorg \
dbus-x11 \
xauth \
curl \
wget \
nano \
vim \
htop \
openvpn \
python3 \
python3-pip \
build-essential \
git \
net-tools \
iputils-ping \
nmap \
wireshark \
tcpdump \
john \
aircrack-ng \
hydra \
sqlmap \
whois \
firefox \
chromium-browser \
thunderbird \
filezilla \
libreoffice \
gedit \
gimp \
inkscape \
evince \
sshfs \
tigervnc-standalone-server \
gparted \
tmux \
screen \
lxappearance \
feh \
gnome-themes-extra \
arc-theme \
papirus-icon-theme \
compton \
nitrogen
# Install additional Python packages for development and data analysis
pip3 install numpy pandas matplotlib jupyterlab scikit-learn seaborn scipy
# Clean up to save space
apt clean
%runscript
echo "Welcome to the Ubuntu GNOME development container!"
gnome-session
%startscript
# Set up runtime directory and start D-Bus
mkdir -p /tmp/xdg-runtime
export XDG_RUNTIME_DIR=/tmp/xdg-runtime
chmod 700 /tmp/xdg-runtime
eval $(dbus-launch --sh-syntax)
export DBUS_SESSION_BUS_ADDRESS
# Start GNOME session in background
gnome-session &
%labels
Author "Nitrous Support Manager"
Version "Ubuntu GNOME Extended Desktop for HPC"
%help
This container includes an extended GNOME environment with web browsers, email client, file transfer tools, additional utilities, and desktop management tools for HPC workflows.