-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsetup.sh
More file actions
executable file
·165 lines (141 loc) · 5.04 KB
/
setup.sh
File metadata and controls
executable file
·165 lines (141 loc) · 5.04 KB
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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
#!/bin/bash
R="$(printf '\033[1;31m')"
G="$(printf '\033[1;32m')"
Y="$(printf '\033[1;33m')"
B="$(printf '\033[1;34m')"
C="$(printf '\033[1;36m')"
W="$(printf '\033[1;37m')"
CURR_DIR=$(realpath "$(dirname "$BASH_SOURCE")")
# Changed to Debian
DEBIAN_DIR="$PREFIX/var/lib/proot-distro/installed-rootfs/debian"
banner() {
clear
cat <<- EOF
${C} ____ __________ _______ _ __
${Y} / __ \/ ____/ __ )/ _/ | / | / /
${G} / / / / __/ / __ |/ // /| | / |/ /
${C} / /_/ / /___/ /_/ // // ___ |/ /| /
${Y}/_____/_____/_____/___/_/ |_/_/ |_/
${W}
EOF
echo -e "${G}💻 Debian Setup Script by Mahesh Technicals\n${W}"
}
package() {
banner
echo -e "${R} [${W}-${R}]${C} Checking required packages..."${W}
[ ! -d '/data/data/com.termux/files/home/storage' ] && echo -e "${R} [${W}-${R}]${C} Setting up Storage.."${W} && termux-setup-storage
if [[ $(command -v pulseaudio) && $(command -v proot-distro) && -e "/data/data/com.termux/files/usr/bin/termux-x11" ]]; then
echo -e "\n${R} [${W}-${R}]${G} Packages already installed."${W}
else
yes | pkg upgrade
yes | pkg install x11-repo
packs=(pulseaudio proot-distro termux-x11-nightly)
for x in "${packs[@]}"; do
type -p "$x" &>/dev/null || {
echo -e "\n${R} [${W}-${R}]${G} Installing package : ${Y}$x${C}"${W}
yes | pkg install "$x"
}
done
fi
}
distro() {
echo -e "\n${R} [${W}-${R}]${C} Checking for Distro..."${W}
termux-reload-settings
# Changed to Debian
if [[ -d "$DEBIAN_DIR" ]]; then
echo -e "\n${R} [${W}-${R}]${G} Distro already installed."${W}
exit 0
else
# Changed to Debian
proot-distro install debian
termux-reload-settings
fi
# Changed to Debian
if [[ -d "$DEBIAN_DIR" ]]; then
echo -e "\n${R} [${W}-${R}]${G} Installed Successfully !!"${W}
else
echo -e "\n${R} [${W}-${R}]${G} Error Installing Distro !\n"${W}
exit 0
fi
}
sound() {
echo -e "\n${R} [${W}-${R}]${C} Fixing Sound Problem..."${W}
[ ! -e "$HOME/.sound" ] && touch "$HOME/.sound"
echo "pacmd load-module module-aaudio-sink" >> "$HOME/.sound"
echo "pulseaudio --start --exit-idle-time=-1" >> "$HOME/.sound"
echo "pacmd load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1" >> "$HOME/.sound"
}
downloader(){
path="$1"
[ -e "$path" ] && rm -rf "$path"
echo "Downloading $(basename $1)..."
curl --progress-bar --insecure --fail \
--retry-connrefused --retry 3 --retry-delay 2 \
--location --output ${path} "$2"
echo
}
setup_vnc() {
# Changed to Debian
if [[ -d "$CURR_DIR/distro" ]] && [[ -e "$CURR_DIR/distro/vncstart" ]]; then
cp -f "$CURR_DIR/distro/vncstart" "$DEBIAN_DIR/usr/local/bin/vncstart"
else
downloader "$CURR_DIR/vncstart" "https://raw.githubusercontent.com/MaheshTechnicals/Moded-Debian/refs/heads/main/distro/vncstart"
mv -f "$CURR_DIR/vncstart" "$DEBIAN_DIR/usr/local/bin/vncstart"
fi
if [[ -d "$CURR_DIR/distro" ]] && [[ -e "$CURR_DIR/distro/vncstop" ]]; then
cp -f "$CURR_DIR/distro/vncstop" "$DEBIAN_DIR/usr/local/bin/vncstop"
else
downloader "$CURR_DIR/vncstop" "https://raw.githubusercontent.com/MaheshTechnicals/Moded-Debian/refs/heads/main/distro/vncstop"
mv -f "$CURR_DIR/vncstop" "$DEBIAN_DIR/usr/local/bin/vncstop"
fi
# Add the new display control scripts
for script in vnclist webon weboff x11start x11stop; do
if [[ -d "$CURR_DIR/distro" ]] && [[ -e "$CURR_DIR/distro/$script" ]]; then
cp -f "$CURR_DIR/distro/$script" "$DEBIAN_DIR/usr/local/bin/$script"
else
downloader "$CURR_DIR/$script" "https://raw.githubusercontent.com/MaheshTechnicals/Moded-Debian/refs/heads/main/distro/$script"
mv -f "$CURR_DIR/$script" "$DEBIAN_DIR/usr/local/bin/$script"
fi
chmod +x "$DEBIAN_DIR/usr/local/bin/$script"
done
chmod +x "$DEBIAN_DIR/usr/local/bin/vncstart"
chmod +x "$DEBIAN_DIR/usr/local/bin/vncstop"
}
permission() {
banner
echo -e "${R} [${W}-${R}]${C} Setting up Environment..."${W}
# Changed to Debian
if [[ -d "$CURR_DIR/distro" ]] && [[ -e "$CURR_DIR/distro/user.sh" ]]; then
cp -f "$CURR_DIR/distro/user.sh" "$DEBIAN_DIR/root/user.sh"
else
downloader "$CURR_DIR/user.sh" "https://raw.githubusercontent.com/MaheshTechnicals/Moded-Debian/refs/heads/main/distro/user.sh"
mv -f "$CURR_DIR/user.sh" "$DEBIAN_DIR/root/user.sh"
fi
chmod +x $DEBIAN_DIR/root/user.sh
setup_vnc
# Changed to Debian
echo "$(getprop persist.sys.timezone)" > $DEBIAN_DIR/etc/timezone
# Changed to Debian
echo "proot-distro login debian" > $PREFIX/bin/debian
chmod +x "$PREFIX/bin/debian"
termux-reload-settings
# Changed to Debian
if [[ -e "$PREFIX/bin/debian" ]]; then
banner
cat <<- EOF
${R} [${W}-${R}]${G} Debian (CLI) is now Installed on your Termux
${R} [${W}-${R}]${G} Restart your Termux to Prevent Some Issues.
${R} [${W}-${R}]${G} Type ${C}debian${G} to run Debian CLI.
${R} [${W}-${R}]${G} If you Want to Use DEBIAN in GUI MODE then ,
${R} [${W}-${R}]${G} Run ${C}debian${G} first & then type ${C}bash user.sh${W}
EOF
{ echo; sleep 2; exit 1; }
else
echo -e "\n${R} [${W}-${R}]${G} Error Installing Distro !"${W}
exit 0
fi
}
package
distro
sound
permission