ubuntuusers.de

Bitte um "waterfox-binary-install-helper.sh" Skript Test

Status: Ungelöst | Ubuntu-Version: Kubuntu 25.04 (Plucky Puffin)
Antworten |

trollsportverein

(Themenstarter)
Avatar von trollsportverein

Anmeldungsdatum:
21. Oktober 2010

Beiträge: 5812

curl wird nun vor der Abfrage der Waterfox Version installiert. Die Desktop Entry Actions in waterfox.desktop ergänzt. Die neue Version:

waterfox-binary-install-helper.sh

  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
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
#!/usr/bin/env bash

#-------------------------------------------------------------------------
# Waterfox Binary Install little helper script.
# https://www.waterfox.net
# https://www.waterfox.net/support/install-waterfox-linux/
#------------------------------------------------------------------------

USER_NAME=$(id -un) && \
USER_UID=$(id -u) && \
WATERFOX_INSTALL_PREFIX=/opt && \
PREFIX=/usr && \
WATERFOX_DL_URL=https://cdn1.waterfox.net/waterfox/releases/latest/linux

printf "\n \033[43m\033[1;36m==> Waterfox INSTALL?  \033[0m\033[41m\033[1;36m  ==> ?  \033[0m \n" && \
echo "" && \
echo "Only if you realy like to install Waterfox, type ==> Yes <== for confirmation." && \
read -e -p "
[y/N] " YN
[[ $YN == "Yes" ]] && \
(echo "Install some requirements ..." && \
echo ". "
sudo apt-get -qq install curl bzip2 libnotify-bin && \
echo ".."
[ $XDG_SESSION_DESKTOP = KDE ] && [ ! -z $(dpkg -l | awk '/libkf6/{ print $2}' | head -n1) ] && sudo apt-get -qq install libkf5service-bin || echo "No libkf5. Ok" && \
echo "..."
[ $XDG_SESSION_DESKTOP = KDE ] &&[ ! -z $(dpkg -l | awk '/libkf6/{ print $2}' | head -n1) ] && sudo apt-get -qq install libkf6service-bin || echo "No libkf6. Ok" && \
echo "...."

WATERFOX_VERSION=$(curl -H 'Cache-Control: no-cache' -s -i -k --max-time 2 --write-out '%{http_code} %{size_header} %{redirect_url} ' \
"https://cdn1.waterfox.net/waterfox/releases/latest/linux" | \
grep location | sed 's/.*waterfox-//g;s/.tar.bz2//g' 2>/dev/null | \
sed -e 's/^[[:space:]]*//g;s/[[:space:]]*$//g' | xargs) && \

printf "\n \033[45m\033[1;36m==> Current Waterfox version on Server $WATERFOX_VERSION  \033[0m\033[42m\033[1;36m  ==> ... \033[0m \n \n" && \
wget -O /tmp/waterfox.tar.bz2 https://cdn1.waterfox.net/waterfox/releases/latest/linux && \

printf "\n \033[45m\033[1;36m==> Directory for Waterfox is being created and populated.  \033[0m\033[42m\033[1;36m  ==> ... \033[0m \n \n" && \
[ ! -d $WATERFOX_INSTALL_PREFIX ] && mkdir -pv $WATERFOX_INSTALL_PREFIX || echo "$WATERFOX_INSTALL_PREFIX exists. Ok." && \
sudo tar xjfv /tmp/waterfox.tar.bz2 -C $WATERFOX_INSTALL_PREFIX && \
rm -fv /tmp/waterfox.tar.bz2 && \
sudo ln -sf $WATERFOX_INSTALL_PREFIX/waterfox/waterfox /usr/bin/waterfox && \

#------------------------------------------------------------------------
# Create launcher
#------------------------------------------------------------------------

printf "\n \033[45m\033[1;36m==> Create Waterfox program launcher.  \033[0m\033[42m\033[1;36m  ==> ... \033[0m \n \n" && \
[ ! -d $HOME/.local/share/applications ] && mkdir -pv $HOME/.local/share/applications || echo "$HOME/.local/share/applications exists. Ok." && \
echo '[Desktop Entry]
Exec=waterfox %u
Icon='$WATERFOX_INSTALL_PREFIX'/waterfox/browser/chrome/icons/default/default256.png
StartupWMClass=waterfox
Name=Waterfox
Name[ach]=Waterfox
Name[af]=Waterfox
Name[an]=Waterfox
Name[ar]=Waterfox
Name[ast]=Waterfox
Name[az]=Waterfox
Name[be]=Waterfox
Name[bg]=Waterfox
Name[bn]=Waterfox
Name[br]=Waterfox
Name[bs]=Waterfox
Name[ca]=Waterfox
Name[ca_valencia]=Waterfox
Name[cak]=Waterfox
Name[cs]=Waterfox
Name[cy]=Waterfox
Name[da]=Waterfox
Name[de]=Waterfox
Name[dsb]=Waterfox
Name[el]=Waterfox
Name[en_CA]=Waterfox
Name[en_GB]=Waterfox
Name[eo]=Waterfox
Name[es_AR]=Waterfox
Name[es_CL]=Waterfox
Name[es_ES]=Waterfox
Name[es_MX]=Waterfox
Name[et]=Waterfox
Name[eu]=Waterfox
Name[fa]=Waterfox
Name[ff]=Waterfox
Name[fi]=Waterfox
Name[fr]=Waterfox
Name[fur]=Waterfox
Name[fy_NL]=Waterfox
Name[ga_IE]=Waterfox
Name[gd]=Waterfox
Name[gl]=Waterfox
Name[gn]=Waterfox
Name[gu_IN]=Waterfox
Name[he]=Waterfox
Name[hi_IN]=Waterfox
Name[hr]=Waterfox
Name[hsb]=Waterfox
Name[hu]=Waterfox
Name[hy_AM]=Waterfox
Name[ia]=Waterfox
Name[id]=Waterfox
Name[is]=Waterfox
Name[it]=Waterfox
Name[ja]=Waterfox
Name[ka]=Waterfox
Name[kab]=Waterfox
Name[kk]=Waterfox
Name[km]=Waterfox
Name[kn]=Waterfox
Name[ko]=Waterfox
Name[lij]=Waterfox
Name[lt]=Waterfox
Name[lv]=Waterfox
Name[mk]=Waterfox
Name[mr]=Waterfox
Name[ms]=Waterfox
Name[my]=Waterfox
Name[nb_NO]=Waterfox
Name[ne_NP]=Waterfox
Name[nl]=Waterfox
Name[nn_NO]=Waterfox
Name[oc]=Waterfox
Name[pa_IN]=Waterfox
Name[pl]=Waterfox
Name[pt_BR]=Waterfox
Name[pt_PT]=Waterfox
Name[rm]=Waterfox
Name[ro]=Waterfox
Name[ru]=Waterfox
Name[sat]=Waterfox
Name[sc]=Waterfox
Name[sco]=Waterfox
Name[si]=Waterfox
Name[sk]=Waterfox
Name[skr]=Waterfox
Name[sl]=Waterfox
Name[son]=Waterfox
Name[sq]=Waterfox
Name[sr]=Waterfox
Name[sv_SE]=Waterfox
Name[szl]=Waterfox
Name[ta]=Waterfox
Name[te]=Waterfox
Name[tg]=Waterfox
Name[th]=Waterfox
Name[tl]=Waterfox
Name[tr]=Waterfox
Name[trs]=Waterfox
Name[uk]=Waterfox
Name[ur]=Waterfox
Name[uz]=Waterfox
Name[vi]=Waterfox
Name[xh]=Waterfox
Name[zh_CN]=Waterfox
Name[zh_TW]=Waterfox
X-GNOME-FullName=Waterfox
X-GNOME-FullName[ach]=Waterfox
X-GNOME-FullName[af]=Waterfox
X-GNOME-FullName[an]=Waterfox
X-GNOME-FullName[ar]=Waterfox
X-GNOME-FullName[ast]=Waterfox
X-GNOME-FullName[az]=Waterfox
X-GNOME-FullName[be]=Waterfox
X-GNOME-FullName[bg]=Waterfox
X-GNOME-FullName[bn]=Waterfox
X-GNOME-FullName[br]=Waterfox
X-GNOME-FullName[bs]=Waterfox
X-GNOME-FullName[ca]=Waterfox
X-GNOME-FullName[ca_valencia]=Waterfox
X-GNOME-FullName[cak]=Waterfox
X-GNOME-FullName[cs]=Waterfox
X-GNOME-FullName[cy]=Waterfox
X-GNOME-FullName[da]=Waterfox
X-GNOME-FullName[de]=Waterfox
X-GNOME-FullName[dsb]=Waterfox
X-GNOME-FullName[el]=Waterfox
X-GNOME-FullName[en_CA]=Waterfox
X-GNOME-FullName[en_GB]=Waterfox
X-GNOME-FullName[eo]=Waterfox
X-GNOME-FullName[es_AR]=Waterfox
X-GNOME-FullName[es_CL]=Waterfox
X-GNOME-FullName[es_ES]=Waterfox
X-GNOME-FullName[es_MX]=Waterfox
X-GNOME-FullName[et]=Waterfox
X-GNOME-FullName[eu]=Waterfox
X-GNOME-FullName[fa]=Waterfox
X-GNOME-FullName[ff]=Waterfox
X-GNOME-FullName[fi]=Waterfox
X-GNOME-FullName[fr]=Waterfox
X-GNOME-FullName[fur]=Waterfox
X-GNOME-FullName[fy_NL]=Waterfox
X-GNOME-FullName[ga_IE]=Waterfox
X-GNOME-FullName[gd]=Waterfox
X-GNOME-FullName[gl]=Waterfox
X-GNOME-FullName[gn]=Waterfox
X-GNOME-FullName[gu_IN]=Waterfox
X-GNOME-FullName[he]=Waterfox
X-GNOME-FullName[hi_IN]=Waterfox
X-GNOME-FullName[hr]=Waterfox
X-GNOME-FullName[hsb]=Waterfox
X-GNOME-FullName[hu]=Waterfox
X-GNOME-FullName[hy_AM]=Waterfox
X-GNOME-FullName[ia]=Waterfox
X-GNOME-FullName[id]=Waterfox
X-GNOME-FullName[is]=Waterfox
X-GNOME-FullName[it]=Waterfox
X-GNOME-FullName[ja]=Waterfox
X-GNOME-FullName[ka]=Waterfox
X-GNOME-FullName[kab]=Waterfox
X-GNOME-FullName[kk]=Waterfox
X-GNOME-FullName[km]=Waterfox
X-GNOME-FullName[kn]=Waterfox
X-GNOME-FullName[ko]=Waterfox
X-GNOME-FullName[lij]=Waterfox
X-GNOME-FullName[lt]=Waterfox
X-GNOME-FullName[lv]=Waterfox
X-GNOME-FullName[mk]=Waterfox
X-GNOME-FullName[mr]=Waterfox
X-GNOME-FullName[ms]=Waterfox
X-GNOME-FullName[my]=Waterfox
X-GNOME-FullName[nb_NO]=Waterfox
X-GNOME-FullName[ne_NP]=Waterfox
X-GNOME-FullName[nl]=Waterfox
X-GNOME-FullName[nn_NO]=Waterfox
X-GNOME-FullName[oc]=Waterfox
X-GNOME-FullName[pa_IN]=Waterfox
X-GNOME-FullName[pl]=Waterfox
X-GNOME-FullName[pt_BR]=Waterfox
X-GNOME-FullName[pt_PT]=Waterfox
X-GNOME-FullName[rm]=Waterfox
X-GNOME-FullName[ro]=Waterfox
X-GNOME-FullName[ru]=Waterfox
X-GNOME-FullName[sat]=Waterfox
X-GNOME-FullName[sc]=Waterfox
X-GNOME-FullName[sco]=Waterfox
X-GNOME-FullName[si]=Waterfox
X-GNOME-FullName[sk]=Waterfox
X-GNOME-FullName[skr]=Waterfox
X-GNOME-FullName[sl]=Waterfox
X-GNOME-FullName[son]=Waterfox
X-GNOME-FullName[sq]=Waterfox
X-GNOME-FullName[sr]=Waterfox
X-GNOME-FullName[sv_SE]=Waterfox
X-GNOME-FullName[szl]=Waterfox
X-GNOME-FullName[ta]=Waterfox
X-GNOME-FullName[te]=Waterfox
X-GNOME-FullName[tg]=Waterfox
X-GNOME-FullName[th]=Waterfox
X-GNOME-FullName[tl]=Waterfox
X-GNOME-FullName[tr]=Waterfox
X-GNOME-FullName[trs]=Waterfox
X-GNOME-FullName[uk]=Waterfox
X-GNOME-FullName[ur]=Waterfox
X-GNOME-FullName[uz]=Waterfox
X-GNOME-FullName[vi]=Waterfox
X-GNOME-FullName[xh]=Waterfox
X-GNOME-FullName[zh_CN]=Waterfox
X-GNOME-FullName[zh_TW]=Waterfox
StartupNotify=true
Categories=Network;WebBrowser;
GenericName=Web Browser

Actions=NewWindow;PrivateWindow;ProfileManager;

[Desktop Action NewWindow]
Name=Neues Fenster
Exec=waterfox --new-window %u
OnlyShowIn=GNOME;KDE;Unity;

[Desktop Action PrivateWindow]
Name=Privates Fenster
Exec=waterfox --private-window %u
OnlyShowIn=GNOME;KDE;Unity;

[Desktop Action ProfileManager]
Name=Profilmanager
Exec=waterfox --ProfileManager
OnlyShowIn=GNOME;KDE;Unity;
' > $HOME/.local/share/applications/waterfox.desktop && \
[ -f $HOME/.local/share/applications/waterfox.desktop ] && \
echo "Waterfox launcher created." && \

#-------------------------------------------------------------------------
# Create waterfox-updater
#-------------------------------------------------------------------------

printf "\n \033[45m\033[1;36m==> Make Waterfox Updater. \033[0m\033[42m\033[1;36m  ==> ... \033[0m \n \n" && \

echo '#!/usr/bin/env bash

#-------------------------------------------------------------------------
# Update Waterfox when newer version available online.
# Get version info from cdn1.waterfox.net.
#-------------------------------------------------------------------------

WATERFOX_LATEST_RELEASE=$(curl -H '\''Cache-Control: no-cache'\'' -s -i -k --max-time 2 --write-out '\''%{http_code} %{size_header} %{redirect_url} '\'' \
"https://cdn1.waterfox.net/waterfox/releases/latest/linux" | \
grep location | sed '\''s/.*waterfox-//g;s/.tar.bz2//g'\'' 2>/dev/null | \
sed -e '\''s/^[[:space:]]*//g;s/[[:space:]]*$//g'\'' | xargs) && \

MY_WATERFOX_VERSION=$(waterfox -v | awk '\''{ print $3 }'\'' 2>/dev/null) ; \

USER_NAME='$USER_NAME' && \
USER_UID='$USER_UID' && \
WATERFOX_INSTALL_PREFIX='$WATERFOX_INSTALL_PREFIX' && \
PREFIX='$PREFIX' && \

[ $WATERFOX_LATEST_RELEASE = $MY_WATERFOX_VERSION ] 2>/dev/null && \
sudo -u $USER_NAME DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$USER_UID/bus \
$PREFIX/bin/notify-send -i $WATERFOX_INSTALL_PREFIX/waterfox/browser/chrome/icons/default/default128.png \
"$($WATERFOX_INSTALL_PREFIX/waterfox/waterfox -v) is up to date." && \
exit || \
sudo -u $USER_NAME DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$USER_UID/bus \
$PREFIX/bin/notify-send -i $WATERFOX_INSTALL_PREFIX/waterfox/browser/chrome/icons/default/default128.png \
"Waterfox Update.... " && \
wget -O /tmp/waterfox.tar.bz2 "https://cdn1.waterfox.net/waterfox/releases/latest/linux" && \
sudo -u $USER_NAME DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$USER_UID/bus \
/usr/bin/notify-send -i $WATERFOX_INSTALL_PREFIX/waterfox/browser/chrome/icons/default/default128.png \
"Extract new Waterfox Binary in Place.... " && \
rm -rf $WATERFOX_INSTALL_PREFIX/waterfox && \
sudo tar xjf /tmp/waterfox.tar.bz2 -C $WATERFOX_INSTALL_PREFIX && \
rm -fv /tmp/waterfox.tar.bz2 && \
ln -sf $WATERFOX_INSTALL_PREFIX/waterfox/waterfox $PREFIX/bin/waterfox && \
sudo -u $USER_NAME DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$USER_UID/bus \
$PREFIX/bin/notify-send -i $WATERFOX_INSTALL_PREFIX/waterfox/browser/chrome/icons/default/default128.png \
"$($WATERFOX_INSTALL_PREFIX/waterfox/waterfox -v) update successful." || \
sudo -u $USER_NAME DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$USER_UID/bus \
$PREFIX/bin/notify-send -i dialog-error.png \
"Update Waterfox failed."' | sudo tee  /usr/bin/waterfox-updater.sh > /dev/null && \
sudo chmod 755 /usr/bin/waterfox-updater.sh && \
[ -f /usr/bin/waterfox-updater.sh ] && \
echo "Waterfox Updater created." && \

#-------------------------------------------------------------------------
# Waterfox systemd timer and service units.
#-------------------------------------------------------------------------

printf "\n \033[45m\033[1;36m==> Make Waterfox Updater Systemd timer and service. \033[0m\033[42m\033[1;36m  ==> ... \033[0m \n \n" && \

echo '[Unit]
Description=Waterfox Updater on boot

[Timer]
OnStartupSec=310
OnUnitActiveSec=24h

[Install]
WantedBy=timers.target' | sudo tee /etc/systemd/system/waterfox-updater.timer > /dev/null && \
[ -f /etc/systemd/system/waterfox-updater.timer ] && \
echo "Systemd waterfox-updater.timer created." && \

echo '[Unit]
Description=Waterfox Updater
Requires=graphical.target

[Service]
Type=oneshot
Environment=DISPLAY=:0
ExecStart=/usr/bin/waterfox-updater.sh' | sudo tee /etc/systemd/system/waterfox-updater.service > /dev/null && \
[ -f /etc/systemd/system/waterfox-updater.service ] && \
echo "Systemd waterfox-updater.service created." && \

sudo systemctl enable --quiet waterfox-updater.timer && \
sudo systemctl enable --quiet waterfox-updater.service && \
sudo systemctl daemon-reload && \

[ $XDG_SESSION_DESKTOP = KDE ] && \
echo "KDE Desktop found." && \
[ -f $PREFIX/bin/kbuildsycoca5 ] && kbuildsycoca5 --noincremental  || echo "No kbuildsycoca5. Ok" && \
[ -f $PREFIX/bin/kbuildsycoca6 ] && kbuildsycoca6 --noincremental  || echo "No kbuildsycoca6. Ok" && \
sudo update-desktop-database &> /dev/null && \

printf "\n \033[45m\033[1;36m==> Install Waterfox successful. \033[0m\033[42m\033[1;36m  ==> Done.\033[0m \n \n" || \
printf "\n \033[41m\033[1;36m==> Install Waterfox failed.\033[0m \n \n")

#-------------------------------------------------------------------------
# If needed, Waterfox deinstall.
#-------------------------------------------------------------------------

printf "\n \033[43m\033[1;36m==> Waterfox REMOVE?  \033[0m\033[41m\033[1;36m  ==> ?  \033[0m \n" && \
echo "" && \
echo "Only if you realy like to remove Waterfox, type ==> Yes <== for confirmation." && \
read -e -p "
[y/N] " YN
[[ $YN == "Yes" ]] && \
sudo rm -rfv  $WATERFOX_INSTALL_PREFIX/waterfox && \
sudo rm -fv /usr/bin/waterfox && \
rm -fv $HOME/.local/share/applications/waterfox.desktop && \
sudo rm -fv /usr/bin/waterfox-updater.sh && \
sudo rm -fv /etc/systemd/system/waterfox-updater.timer && \
sudo rm -fv /etc/systemd/system/waterfox-updater.service && \
sudo systemctl daemon-reload && \
printf "\n \033[45m\033[1;36m==> Waterfox removed. \033[0m\033[42m\033[1;36m  ==> Done.\033[0m \n \n" || \
echo "" && \
[ -d $WATERFOX_INSTALL_PREFIX/waterfox ] && \
echo "Not removed."

Gastmarant

Anmeldungsdatum:
24. September 2025

Beiträge: 150

Sieht gut aus, Installation, WF Start, Timer/Updateprüfung kommt, Deinstallation. 👍 (Ob der das Update dann auch ausführt hatte ich ja schon vor Tagen manuell angestoßen, ist da nix geändert, dürfte das auch laufen)

Terminal=false muss noch in die .desktop, da wo WF vom Desktop starten soll wird das sonst nix(Ferhlermeldung), durfte das jetzt lernen.

trollsportverein

(Themenstarter)
Avatar von trollsportverein

Anmeldungsdatum:
21. Oktober 2010

Beiträge: 5812

Terminal=false ist nun drin. Und einige weitere Weiterentwicklungen. Das Skript prüft nun, ob es wirklich auf Ubuntu Noble Numbat, Plucky Puffin oder Questing Quokka läuft. Es lässt sich aber überstimmen, auch wenn es ja eigentlich für (K)Ubuntu gemacht ist.

Neue Version:

waterfox-binary-install-helper.sh

#!/usr/bin/env bash

#-------------------------------------------------------------------------
# Waterfox Binary Install little helper script.
# https://www.waterfox.net
# https://www.waterfox.net/support/install-waterfox-linux/
#------------------------------------------------------------------------

USER_NAME=$(id -un) && \
USER_UID=$(id -u) && \
WATERFOX_INSTALL_PREFIX=/opt && \
PREFIX=/usr && \
WATERFOX_DL_URL=https://cdn1.waterfox.net/waterfox/releases/latest/linux && \

RELEASE_VERSION=$(lsb_release -cs 2>/dev/null) && \
DISTRIBUTION=$(lsb_release -id | awk '/Distributor/{ print $NF }')
printf "\n \033[45m\033[1;36m==> Running on $DISTRIBUTION $RELEASE_VERSION \033[0m\033[42m\033[1;36m  ==> ... \033[0m \n \n" && \
[ $DISTRIBUTION = Ubuntu ] && \
[ $RELEASE_VERSION = noble ] || \
[ $RELEASE_VERSION = plucky ] || \
[ $RELEASE_VERSION = questing ] && \
echo "$RELEASE_VERSION good". || \
printf "\n \033[41m\033[1;36m==> Sorry, not for $DISTRIBUTION $RELEASE_VERSION.\033[0m \n \n" && \
[ $DISTRIBUTION = Ubuntu ] && \
[ $RELEASE_VERSION = noble ] || \
[ $RELEASE_VERSION = plucky ] || \
[ $RELEASE_VERSION = questing ] || \
(printf "\n \033[41m\033[1;36m==> If you want to install Waterfox despite the negative Ubuntu release version test, type \"Yes\". \033[0m\033[42m\033[1;36m  ==> ... \033[0m \n \n"
read -e -p "
[y/N] " YN
[[ $YN == "Yes" ]] && \
(echo "Try it.")) || exit
printf "\n \033[45m\033[1;36m==> Test sudo. \033[0m\033[42m\033[1;36m  ==> ... \033[0m \n \n" && \
sudo echo "sudo Test, OK." && \

printf "\n \033[43m\033[1;36m==> Waterfox INSTALL?  \033[0m\033[41m\033[1;36m  ==> ?  \033[0m \n" && \
echo "" && \
echo "Only if you realy like to install Waterfox, type ==> Yes <== for confirmation." && \
read -e -p "
[y/N] " YN
[[ $YN == "Yes" ]] && \
(echo "Install some requirements ..." && \
echo ". "
sudo apt-get -qq install curl bzip2 libnotify-bin && \
echo ".."
[ $XDG_SESSION_DESKTOP = KDE ] && [ ! -z $(dpkg -l | awk '/libkf6/{ print $2}' | head -n1) ] && sudo apt-get -qq install libkf5service-bin || echo "No libkf5. Ok" && \
echo "..."
[ $XDG_SESSION_DESKTOP = KDE ] &&[ ! -z $(dpkg -l | awk '/libkf6/{ print $2}' | head -n1) ] && sudo apt-get -qq install libkf6service-bin || echo "No libkf6. Ok" && \
echo "...."

WATERFOX_VERSION=$(curl -H 'Cache-Control: no-cache' -s -i -k --max-time 2 --write-out '%{http_code} %{size_header} %{redirect_url} ' \
"https://cdn1.waterfox.net/waterfox/releases/latest/linux" | \
grep location | sed 's/.*waterfox-//g;s/.tar.bz2//g' 2>/dev/null | \
sed -e 's/^[[:space:]]*//g;s/[[:space:]]*$//g' | xargs) && \

printf "\n \033[45m\033[1;36m==> Current Waterfox version on Server $WATERFOX_VERSION  \033[0m\033[42m\033[1;36m  ==> ... \033[0m \n \n" && \
wget -O /tmp/waterfox.tar.bz2 https://cdn1.waterfox.net/waterfox/releases/latest/linux && \

printf "\n \033[45m\033[1;36m==> Directory for Waterfox is being created and populated.  \033[0m\033[42m\033[1;36m  ==> ... \033[0m \n \n" && \
[ ! -d $WATERFOX_INSTALL_PREFIX ] && mkdir -pv $WATERFOX_INSTALL_PREFIX || echo "$WATERFOX_INSTALL_PREFIX exists. Ok." && \
sudo tar xjfv /tmp/waterfox.tar.bz2 -C $WATERFOX_INSTALL_PREFIX && \
rm -fv /tmp/waterfox.tar.bz2 && \
sudo ln -sf $WATERFOX_INSTALL_PREFIX/waterfox/waterfox /usr/bin/waterfox && \

#------------------------------------------------------------------------
# Create launcher
#------------------------------------------------------------------------

printf "\n \033[45m\033[1;36m==> Create Waterfox program launcher.  \033[0m\033[42m\033[1;36m  ==> ... \033[0m \n \n" && \
[ ! -d $HOME/.local/share/applications ] && mkdir -pv $HOME/.local/share/applications || echo "$HOME/.local/share/applications exists. Ok." && \
echo '[Desktop Entry]
Type=Application
Exec=waterfox %u
Terminal=false
X-MultipleArgs=false
Icon='$WATERFOX_INSTALL_PREFIX'/waterfox/browser/chrome/icons/default/default256.png
StartupWMClass=waterfox
Categories=GNOME;GTK;Network;WebBrowser;
MimeType=application/json;application/pdf;application/rdf+xml;application/rss+xml;application/x-xpinstall;application/xhtml+xml;application/xml;audio/flac;audio/ogg;audio/webm;image/avif;image/gif;image/jpeg;image/png;image/svg+xml;image/webp;text/html;text/xml;video/ogg;video/webm;x-scheme-handler/chrome;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/mailto;
StartupNotify=true
GenericName=Web Browser
Actions=NewWindow;PrivateWindow;ProfileManager;
Name=Waterfox
Name[ach]=Waterfox
Name[af]=Waterfox
Name[an]=Waterfox
Name[ar]=Waterfox
Name[ast]=Waterfox
Name[az]=Waterfox
Name[be]=Waterfox
Name[bg]=Waterfox
Name[bn]=Waterfox
Name[br]=Waterfox
Name[bs]=Waterfox
Name[ca]=Waterfox
Name[ca_valencia]=Waterfox
Name[cak]=Waterfox
Name[cs]=Waterfox
Name[cy]=Waterfox
Name[da]=Waterfox
Name[de]=Waterfox
Name[dsb]=Waterfox
Name[el]=Waterfox
Name[en_CA]=Waterfox
Name[en_GB]=Waterfox
Name[eo]=Waterfox
Name[es_AR]=Waterfox
Name[es_CL]=Waterfox
Name[es_ES]=Waterfox
Name[es_MX]=Waterfox
Name[et]=Waterfox
Name[eu]=Waterfox
Name[fa]=Waterfox
Name[ff]=Waterfox
Name[fi]=Waterfox
Name[fr]=Waterfox
Name[fur]=Waterfox
Name[fy_NL]=Waterfox
Name[ga_IE]=Waterfox
Name[gd]=Waterfox
Name[gl]=Waterfox
Name[gn]=Waterfox
Name[gu_IN]=Waterfox
Name[he]=Waterfox
Name[hi_IN]=Waterfox
Name[hr]=Waterfox
Name[hsb]=Waterfox
Name[hu]=Waterfox
Name[hy_AM]=Waterfox
Name[ia]=Waterfox
Name[id]=Waterfox
Name[is]=Waterfox
Name[it]=Waterfox
Name[ja]=Waterfox
Name[ka]=Waterfox
Name[kab]=Waterfox
Name[kk]=Waterfox
Name[km]=Waterfox
Name[kn]=Waterfox
Name[ko]=Waterfox
Name[lij]=Waterfox
Name[lt]=Waterfox
Name[lv]=Waterfox
Name[mk]=Waterfox
Name[mr]=Waterfox
Name[ms]=Waterfox
Name[my]=Waterfox
Name[nb_NO]=Waterfox
Name[ne_NP]=Waterfox
Name[nl]=Waterfox
Name[nn_NO]=Waterfox
Name[oc]=Waterfox
Name[pa_IN]=Waterfox
Name[pl]=Waterfox
Name[pt_BR]=Waterfox
Name[pt_PT]=Waterfox
Name[rm]=Waterfox
Name[ro]=Waterfox
Name[ru]=Waterfox
Name[sat]=Waterfox
Name[sc]=Waterfox
Name[sco]=Waterfox
Name[si]=Waterfox
Name[sk]=Waterfox
Name[skr]=Waterfox
Name[sl]=Waterfox
Name[son]=Waterfox
Name[sq]=Waterfox
Name[sr]=Waterfox
Name[sv_SE]=Waterfox
Name[szl]=Waterfox
Name[ta]=Waterfox
Name[te]=Waterfox
Name[tg]=Waterfox
Name[th]=Waterfox
Name[tl]=Waterfox
Name[tr]=Waterfox
Name[trs]=Waterfox
Name[uk]=Waterfox
Name[ur]=Waterfox
Name[uz]=Waterfox
Name[vi]=Waterfox
Name[xh]=Waterfox
Name[zh_CN]=Waterfox
Name[zh_TW]=Waterfox
X-GNOME-FullName=Waterfox
X-GNOME-FullName[ach]=Waterfox
X-GNOME-FullName[af]=Waterfox
X-GNOME-FullName[an]=Waterfox
X-GNOME-FullName[ar]=Waterfox
X-GNOME-FullName[ast]=Waterfox
X-GNOME-FullName[az]=Waterfox
X-GNOME-FullName[be]=Waterfox
X-GNOME-FullName[bg]=Waterfox
X-GNOME-FullName[bn]=Waterfox
X-GNOME-FullName[br]=Waterfox
X-GNOME-FullName[bs]=Waterfox
X-GNOME-FullName[ca]=Waterfox
X-GNOME-FullName[ca_valencia]=Waterfox
X-GNOME-FullName[cs]=Waterfox
X-GNOME-FullName[cy]=Waterfox
X-GNOME-FullName[da]=Waterfox
X-GNOME-FullName[de]=Waterfox
X-GNOME-FullName[dsb]=Waterfox
X-GNOME-FullName[el]=Waterfox
X-GNOME-FullName[en_CA]=Waterfox
X-GNOME-FullName[en_GB]=Waterfox
X-GNOME-FullName[eo]=Waterfox
X-GNOME-FullName[es_AR]=Waterfox
X-GNOME-FullName[es_CL]=Waterfox
X-GNOME-FullName[es_ES]=Waterfox
X-GNOME-FullName[es_MX]=Waterfox
X-GNOME-FullName[et]=Waterfox
X-GNOME-FullName[eu]=Waterfox
X-GNOME-FullName[fa]=Waterfox
X-GNOME-FullName[ff]=Waterfox
X-GNOME-FullName[fi]=Waterfox
X-GNOME-FullName[fr]=Waterfox
X-GNOME-FullName[fur]=Waterfox
X-GNOME-FullName[fy_NL]=Waterfox
X-GNOME-FullName[ga_IE]=Waterfox
X-GNOME-FullName[gd]=Waterfox
X-GNOME-FullName[gl]=Waterfox
X-GNOME-FullName[gn]=Waterfox
X-GNOME-FullName[gu_IN]=Waterfox
X-GNOME-FullName[he]=Waterfox
X-GNOME-FullName[hi_IN]=Waterfox
X-GNOME-FullName[hr]=Waterfox
X-GNOME-FullName[hsb]=Waterfox
X-GNOME-FullName[hu]=Waterfox
X-GNOME-FullName[hy_AM]=Waterfox
X-GNOME-FullName[ia]=Waterfox
X-GNOME-FullName[id]=Waterfox
X-GNOME-FullName[is]=Waterfox
X-GNOME-FullName[it]=Waterfox
X-GNOME-FullName[ja]=Waterfox
X-GNOME-FullName[ka]=Waterfox
X-GNOME-FullName[kab]=Waterfox
X-GNOME-FullName[kk]=Waterfox
X-GNOME-FullName[km]=Waterfox
X-GNOME-FullName[kn]=Waterfox
X-GNOME-FullName[ko]=Waterfox
X-GNOME-FullName[lij]=Waterfox
X-GNOME-FullName[lt]=Waterfox
X-GNOME-FullName[lv]=Waterfox
X-GNOME-FullName[mk]=Waterfox
X-GNOME-FullName[mr]=Waterfox
X-GNOME-FullName[ms]=Waterfox
X-GNOME-FullName[my]=Waterfox
X-GNOME-FullName[nb_NO]=Waterfox
X-GNOME-FullName[ne_NP]=Waterfox
X-GNOME-FullName[nl]=Waterfox
X-GNOME-FullName[nn_NO]=Waterfox
X-GNOME-FullName[oc]=Waterfox
X-GNOME-FullName[pa_IN]=Waterfox
X-GNOME-FullName[pl]=Waterfox
X-GNOME-FullName[pt_BR]=Waterfox
X-GNOME-FullName[pt_PT]=Waterfox
X-GNOME-FullName[rm]=Waterfox
X-GNOME-FullName[ro]=Waterfox
X-GNOME-FullName[ru]=Waterfox
X-GNOME-FullName[sat]=Waterfox
X-GNOME-FullName[sc]=Waterfox
X-GNOME-FullName[sco]=Waterfox
X-GNOME-FullName[si]=Waterfox
X-GNOME-FullName[sk]=Waterfox
X-GNOME-FullName[skr]=Waterfox
X-GNOME-FullName[sl]=Waterfox
X-GNOME-FullName[son]=Waterfox
X-GNOME-FullName[sq]=Waterfox
X-GNOME-FullName[sr]=Waterfox
X-GNOME-FullName[sv_SE]=Waterfox
X-GNOME-FullName[szl]=Waterfox
X-GNOME-FullName[ta]=Waterfox
X-GNOME-FullName[te]=Waterfox
X-GNOME-FullName[tg]=Waterfox
X-GNOME-FullName[th]=Waterfox
X-GNOME-FullName[tl]=Waterfox
X-GNOME-FullName[tr]=Waterfox
X-GNOME-FullName[trs]=Waterfox
X-GNOME-FullName[uk]=Waterfox
X-GNOME-FullName[ur]=Waterfox
X-GNOME-FullName[uz]=Waterfox
X-GNOME-FullName[vi]=Waterfox
X-GNOME-FullName[xh]=Waterfox
X-GNOME-FullName[zh_CN]=Waterfox
X-GNOME-FullName[zh_TW]=Waterfox

[Desktop Action NewWindow]
Exec=waterfox --new-window %u
OnlyShowIn=GNOME;KDE;Unity;
Name=New Window
Name[de]=Neues Fenster
Name[fr]=Nouvelle fenêtre
Name[he]=חלון חדש
Name[nl]=Nieuw venster
Name[pl]=Nowe okno

[Desktop Action PrivateWindow]
Exec=waterfox --private-window %u
OnlyShowIn=GNOME;KDE;Unity;
Name=New Private Window
Name[de]=Neues privates Fenster
Name[fr]=Nouvelle fenêtre privée
Name[he]=חלון פרטי חדש
Name[nl]=Nieuw privévenster
Name[pl]=Nowe okno prywatne

[Desktop Action ProfileManager]
Exec=waterfox --ProfileManager
OnlyShowIn=GNOME;KDE;Unity;
Name=Open Profile Manager
Name[de]=Profilverwaltung öffnen
Name[fr]=Ouvrir le gestionnaire de profils
Name[he]=פתיחת מנהל הפרופילים
Name[nl]=Profielbeheerder openen
Name[pl]=Menedżer profili
' > $HOME/.local/share/applications/waterfox.desktop 2>/dev/null && \
[ -f $HOME/.local/share/applications/waterfox.desktop ] && \
echo "Waterfox launcher created." && \

#-------------------------------------------------------------------------
# Create waterfox-updater
#-------------------------------------------------------------------------

printf "\n \033[45m\033[1;36m==> Make Waterfox Updater. \033[0m\033[42m\033[1;36m  ==> ... \033[0m \n \n" && \

echo '#!/usr/bin/env bash

#-------------------------------------------------------------------------
# Update Waterfox when newer version available online.
# Get version info from cdn1.waterfox.net.
#-------------------------------------------------------------------------

WATERFOX_LATEST_RELEASE=$(curl -H '\''Cache-Control: no-cache'\'' -s -i -k --max-time 2 --write-out '\''%{http_code} %{size_header} %{redirect_url} '\'' \
"https://cdn1.waterfox.net/waterfox/releases/latest/linux" | \
grep location | sed '\''s/.*waterfox-//g;s/.tar.bz2//g'\'' 2>/dev/null | \
sed -e '\''s/^[[:space:]]*//g;s/[[:space:]]*$//g'\'' | xargs) && \

MY_WATERFOX_VERSION=$(waterfox -v | awk '\''{ print $3 }'\'' 2>/dev/null) ; \

USER_NAME='$USER_NAME' && \
USER_UID='$USER_UID' && \
WATERFOX_INSTALL_PREFIX='$WATERFOX_INSTALL_PREFIX' && \
PREFIX='$PREFIX' && \

[ $WATERFOX_LATEST_RELEASE = $MY_WATERFOX_VERSION ] 2>/dev/null && \
sudo -u $USER_NAME DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$USER_UID/bus \
$PREFIX/bin/notify-send -i $WATERFOX_INSTALL_PREFIX/waterfox/browser/chrome/icons/default/default128.png \
"$($WATERFOX_INSTALL_PREFIX/waterfox/waterfox -v) is up to date." && \
exit || \
sudo -u $USER_NAME DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$USER_UID/bus \
$PREFIX/bin/notify-send -i $WATERFOX_INSTALL_PREFIX/waterfox/browser/chrome/icons/default/default128.png \
"Waterfox Update.... " && \
wget -O /tmp/waterfox.tar.bz2 "https://cdn1.waterfox.net/waterfox/releases/latest/linux" && \
sudo -u $USER_NAME DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$USER_UID/bus \
/usr/bin/notify-send -i $WATERFOX_INSTALL_PREFIX/waterfox/browser/chrome/icons/default/default128.png \
"Extract new Waterfox Binary in Place.... " && \
rm -rf $WATERFOX_INSTALL_PREFIX/waterfox && \
sudo tar xjf /tmp/waterfox.tar.bz2 -C $WATERFOX_INSTALL_PREFIX && \
rm -fv /tmp/waterfox.tar.bz2 && \
ln -sf $WATERFOX_INSTALL_PREFIX/waterfox/waterfox $PREFIX/bin/waterfox && \
sudo -u $USER_NAME DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$USER_UID/bus \
$PREFIX/bin/notify-send -i $WATERFOX_INSTALL_PREFIX/waterfox/browser/chrome/icons/default/default128.png \
"$($WATERFOX_INSTALL_PREFIX/waterfox/waterfox -v) update successful." || \
sudo -u $USER_NAME DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$USER_UID/bus \
$PREFIX/bin/notify-send -i dialog-error.png \
"Update Waterfox failed."' | sudo tee  /usr/bin/waterfox-updater.sh > /dev/null && \
sudo chmod 755 /usr/bin/waterfox-updater.sh && \
[ -f /usr/bin/waterfox-updater.sh ] && \
echo "Waterfox Updater created." && \

#-------------------------------------------------------------------------
# Waterfox systemd timer and service units.
#-------------------------------------------------------------------------

printf "\n \033[45m\033[1;36m==> Make Waterfox Updater Systemd timer and service. \033[0m\033[42m\033[1;36m  ==> ... \033[0m \n \n" && \

echo '[Unit]
Description=Waterfox Updater on boot

[Timer]
OnStartupSec=310
OnUnitActiveSec=24h

[Install]
WantedBy=timers.target' | sudo tee /etc/systemd/system/waterfox-updater.timer > /dev/null && \
[ -f /etc/systemd/system/waterfox-updater.timer ] && \
echo "Systemd waterfox-updater.timer created." && \

echo '[Unit]
Description=Waterfox Updater
Requires=graphical.target

[Service]
Type=oneshot
Environment=DISPLAY=:0
ExecStart=/usr/bin/waterfox-updater.sh' | sudo tee /etc/systemd/system/waterfox-updater.service > /dev/null && \
[ -f /etc/systemd/system/waterfox-updater.service ] && \
echo "Systemd waterfox-updater.service created." && \

sudo systemctl enable --quiet waterfox-updater.timer && \
sudo systemctl enable --quiet waterfox-updater.service && \
sudo systemctl daemon-reload && \

[ $XDG_SESSION_DESKTOP = KDE ] && \
echo "KDE Desktop found." && \
[ -f $PREFIX/bin/kbuildsycoca5 ] && kbuildsycoca5 --noincremental  || echo "No kbuildsycoca5. Ok" && \
[ -f $PREFIX/bin/kbuildsycoca6 ] && kbuildsycoca6 --noincremental  || echo "No kbuildsycoca6. Ok" && \
sudo update-desktop-database &> /dev/null && \

printf "\n \033[45m\033[1;36m==> Install Waterfox successful. \033[0m\033[42m\033[1;36m  ==> Done.\033[0m \n \n" || \
printf "\n \033[41m\033[1;36m==> Install Waterfox failed.\033[0m \n \n")

#-------------------------------------------------------------------------
# If needed, Waterfox deinstall.
#-------------------------------------------------------------------------

printf "\n \033[43m\033[1;36m==> Waterfox REMOVE?  \033[0m\033[41m\033[1;36m  ==> ?  \033[0m \n" && \
echo "" && \
echo "Only if you realy like to remove Waterfox, type ==> Yes <== for confirmation." && \
read -e -p "
[y/N] " YN
[[ $YN == "Yes" ]] && \
(sudo rm -rfv  $WATERFOX_INSTALL_PREFIX/waterfox && \
sudo rm -fv /usr/bin/waterfox && \
rm -fv $HOME/.local/share/applications/waterfox.desktop && \
sudo rm -fv /usr/bin/waterfox-updater.sh && \
sudo rm -fv /etc/systemd/system/waterfox-updater.timer && \
sudo rm -fv /etc/systemd/system/waterfox-updater.service && \
sudo systemctl daemon-reload && \
printf "\n \033[45m\033[1;36m==> Waterfox removed. \033[0m\033[42m\033[1;36m  ==> Done.\033[0m \n \n" || \
echo "" && \
[ -d $WATERFOX_INSTALL_PREFIX/waterfox ] && \
echo "Not removed.")

Gastmarant

Anmeldungsdatum:
24. September 2025

Beiträge: 150

Bezieht sich auf die vorletzte Version. Update nicht gemacht. "6.6.5.1 aktuell", aber keine Fehler im Script, hatte "exec 2>> ../w_u.log" gesetzt. Script habe ich mir nicht angesehen, nicht daß wieder was von "..Wunsch erfüllt.."🎄 kommt.

trollsportverein

(Themenstarter)
Avatar von trollsportverein

Anmeldungsdatum:
21. Oktober 2010

Beiträge: 5812

Noch eine Version, diese beseitigt beim Deinstallationsprozess auch tote Links, die in /etc/systemd/system/timers.target.wants zurückbleiben. Timer Units legen dort automagisch Links darin ab, die aber nicht automagisch entfernt werden, wenn das Systemd Timer Unit gelöscht wird.

waterfox-binary-install-helper.sh

  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
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
#!/usr/bin/env bash

#-------------------------------------------------------------------------------
# Ubuntu 24.04, 25.04 and 25.10 Thunderbird Binary Install little helper script.
# https://www.thunderbird.net/de/thunderbird/all/
# https://archive.mozilla.org/pub/thunderbird/releases/latest/README.txt
#-------------------------------------------------------------------------------


USER_NAME=$(id -un) && \
USER_UID=$(id -u) && \
OS=linux64  && \
#-------------------------------------------------------------------------------
# You can set your preferred language here.
# For example, “LANGUAGE=de” for German 🇩🇪without quotation marks.
# The default language is the one that give "echo $LANGUAGE".
#-------------------------------------------------------------------------------
LANGUAGE=$LANGUAGE
PREFIX=/usr && \

RELEASE_VERSION=$(lsb_release -cs 2>/dev/null)
DISTRIBUTION=$(lsb_release -id | awk '/Distributor/{ print $NF }')
printf "\n \033[45m\033[1;36m==> Running on $DISTRIBUTION $RELEASE_VERSION \033[0m\033[42m\033[1;36m  ==> ... \033[0m \n \n" && \
[ $DISTRIBUTION = Ubuntu ] && \
[ $RELEASE_VERSION = noble ] || \
[ $RELEASE_VERSION = plucky ] || \
[ $RELEASE_VERSION = questing ] && \
echo "$RELEASE_VERSION good". || \
printf "\n \033[41m\033[1;36m==> Sorry, not for $DISTRIBUTION $RELEASE_VERSION.\033[0m \n \n" && \
[ $DISTRIBUTION = Ubuntu ] && \
[ $RELEASE_VERSION = noble ] || \
[ $RELEASE_VERSION = plucky ] || \
[ $RELEASE_VERSION = questing ] || \
(printf "\n \033[41m\033[1;36m==> If you want to install Thunderbird despite the negative release version test, type \"Yes\". \033[0m\033[42m\033[1;36m  ==> ... \033[0m \n \n"
read -e -p "
[y/N] " YN
[[ $YN == "Yes" ]] && \
(echo "try it.")) || exit
printf "\n \033[45m\033[1;36m==> Test sudo. \033[0m\033[42m\033[1;36m  ==> ... \033[0m \n \n" && \
sudo echo "sudo Test, OK." && \
printf "\n \033[45m\033[1;36m==> Please deinstall other Thunderbirds on your System and \033[41m\033[1;36m make a Thunderbird Profile Backup before install this one. \033[0m\033[42m\033[1;36m  ==> ... \033[0m \n \n" && \
printf "\n \033[45m\033[1;36m==> If you would like to proceed, please do the following: type \"Yes\". \033[0m\033[42m\033[1;36m  ==> ... \033[0m \n \n" && \
read -e -p "
[y/N] " YN
[[ $YN == "Yes" ]] && \
(echo "Install some requirements ..." && \
echo ". "
sudo apt-get -qq install curl bzip2 xz-utils libnotify-bin && \
echo ".." && \
[ $XDG_SESSION_DESKTOP = KDE ] && [ ! -z $(dpkg -l | awk '/libkf6/{ print $2}' | head -n1) ] && sudo apt-get -qq install libkf5service-bin || echo "No libkf5. Ok" && \
echo "..." && \
[ $XDG_SESSION_DESKTOP = KDE ] &&[ ! -z $(dpkg -l | awk '/libkf6/{ print $2}' | head -n1) ] && sudo apt-get -qq install libkf6service-bin || echo "No libkf6. Ok" && \
echo "...." && \
printf "\n \033[45m\033[1;36m==> Download Thunderbird from download.mozilla.org. \033[0m\033[42m\033[1;36m  ==> ... \033[0m \n \n" && \

THUNDERBIRD_LATEST_RELEASE=$(curl -H 'Cache-Control: no-cache' -s -i -k --max-time 2 --write-out '%{http_code} %{size_header} %{redirect_url} ' \
"https://download.mozilla.org/?product=thunderbird-latest&os=$OS&lang=$LANGUAGE" | \
grep location | sed 's/.*thunderbird-//g;s/.tar.xz//g;s/^[[:space:]]*//g;s/[[:space:]]*$//g' | xargs) && \

printf "\n \033[45m\033[1;36m==> You will receive Thunderbird version $THUNDERBIRD_LATEST_RELEASE - Language:$LANGUAGE \033[0m\033[42m\033[1;36m  ==> ... \033[0m \n \n" && \
wget -O /tmp/thunderbird-latest-stable.tar.xz "https://download.mozilla.org/?product=thunderbird-latest&os=$OS&lang=$LANGUAGE" && \

printf "\n \033[45m\033[1;36m==> Extract Thunderbird Binary in Place. \033[0m\033[42m\033[1;36m  ==> ... \033[0m \n \n" && \
sudo tar -xf /tmp/thunderbird-latest-stable.tar.xz -C $PREFIX/lib && \
rm -fv /tmp/thunderbird-latest-stable.tar.xz && \
sudo update-alternatives --install "$PREFIX/bin/thunderbird" "thunderbird" "$PREFIX/lib/thunderbird/thunderbird" 100 && \

#-------------------------------------------------------------------------------
# Create Thunderbird launcher
#-------------------------------------------------------------------------------

printf "\n \033[45m\033[1;36m==> Make Thunderbird Starter. \033[0m\033[42m\033[1;36m  ==> ... \033[0m \n \n" && \
echo "[Desktop Entry]
Encoding=UTF-8
Name=Thunderbird Mail
Name[fr]=Messagerie Thunderbird
Comment=Send and receive mail with Thunderbird
Comment[de]=E-Mails lesen und schreiben
Comment[fr]=Lire et écrire des courriels
GenericName=Mail Client
GenericName[fr]=Client de messagerie
Keywords=Email;E-mail;Newsgroup;Feed;RSS
Keywords[de]=E-Mails; Mails; E-Mails; Emails; Nachrichten; Nachrichten; Newsgroup; Feed; RSS; Poster; Thunderbird; Lesen; Schreiben
Keywords[fr]=Mails;Mels;E-Mails;Emails;Courriels;Courriers;Newsgroup;Feed;RSS;Poster;Thunderbird;Lire;Écrire
Exec=thunderbird %u
Terminal=false
X-MultipleArgs=false
Type=Application
Icon=$PREFIX/lib/thunderbird/chrome/icons/default/default128.png
Categories=Application;Network;Email;
MimeType=x-scheme-handler/mailto;application/x-xpinstall;
StartupNotify=true
Actions=Compose;Contacts;Manage_Profiles;

[Desktop Action Compose]
Name=Compose New Message
Name[de]=Neue E-Mail verfassen
Name[fr]=Rédiger un nouveau courriel
Exec=thunderbird -compose

[Desktop Action Contacts]
Name=Contacts
Name[de]=Adressbuch
Name[fr]=Carnet d adresses
Exec=thunderbird -addressbook

[Desktop Action Manage_Profiles]
Name=Manage profiles
Name[de]=Profile verwalten
Name[fr]=Gérer les profils
Exec=thunderbird -p" | sudo tee $PREFIX/share/applications/thunderbird.desktop > /dev/null && \
[ -f $PREFIX/share/applications/thunderbird.desktop ] && \
echo "Thunderbird launcher created." && \

#-------------------------------------------------------------------------------
# Thunderbird-updater for systemd use.
#-------------------------------------------------------------------------------

printf "\n \033[45m\033[1;36m==> Make Thunderbird Updater. \033[0m\033[42m\033[1;36m  ==> ... \033[0m \n \n" && \

echo '#!/usr/bin/env bash

#-------------------------------------------------------------------------------
# Update Thunderbird when newer version available online.
# Fetch version info from download.mozilla.org.
#-------------------------------------------------------------------------------

USER_NAME='$USER_NAME' && \
USER_UID='$USER_UID' && \
OS=linux64  && \
LANGUAGE=de  && \
PREFIX=/usr && \

THUNDERBIRD_LATEST_RELEASE=$(curl -H '\''Cache-Control: no-cache'\'' -s -i -k --max-time 2 --write-out '\''%{http_code} %{size_header} %{redirect_url} '\'' \
"https://download.mozilla.org/?product=thunderbird-latest&os=$OS&lang=$LANGUAGE" | \
grep location | sed '\''s/.*thunderbird-//g;s/.tar.xz//g;s/^[[:space:]]*//g;s/[[:space:]]*$//g'\'' | xargs) && \

MY_THUNDERBIRD_VERSION=$(thunderbird -v | awk '\''{ print $3 }'\'' 2>/dev/null) && \

[ $THUNDERBIRD_LATEST_RELEASE = $MY_THUNDERBIRD_VERSION ] 2>/dev/null && \
sudo -u $USER_NAME DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$USER_UID/bus $PREFIX/bin/notify-send -i $PREFIX/lib/thunderbird/chrome/icons/default/default128.png "$($PREFIX/lib/thunderbird/thunderbird -v) is up to date." && exit || \

sudo -u $USER_NAME DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$USER_UID/bus $PREFIX/bin/notify-send -i $PREFIX/lib/thunderbird/chrome/icons/default/default128.png "Thunderbird Update.... " && \

wget -O /tmp/thunderbird-latest-stable.tar.xz "https://download.mozilla.org/?product=thunderbird-latest&os=$OS&lang=$LANGUAGE" && \
sudo -u $USER_NAME DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$USER_UID/bus /usr/bin/notify-send -i $PREFIX/lib/thunderbird/chrome/icons/default/default128.png "Extract new Thunderbird Binary in Place.... " && \

rm -rf $PREFIX/lib/thunderbird && \
tar -xf /tmp/thunderbird-latest-stable.tar.xz -C $PREFIX/lib && \
rm -fv /tmp/thunderbird-latest-stable.tar.xz && \
ln -sf $PREFIX/lib/thunderbird/thunderbird $PREFIX/bin/thunderbird && \
sudo -u $USER_NAME DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$USER_UID/bus $PREFIX/bin/notify-send -i $PREFIX/lib/thunderbird/chrome/icons/default/default128.png "$($PREFIX/lib/thunderbird/thunderbird -v) update successful." || \
sudo -u $USER_NAME DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$USER_UID/bus $PREFIX/bin/notify-send -i dialog-error "Update Thunderbird failed."' | \
sudo tee  $PREFIX/bin/thunderbird-updater.sh > /dev/null && \
sudo chmod 755 $PREFIX/bin/thunderbird-updater.sh && \
[ -f $PREFIX/bin/thunderbird-updater.sh ] && \
echo "Thunderbird Updater created." && \

#-------------------------------------------------------------------------------
# Thunderbird systemd timer and service units.
#-------------------------------------------------------------------------------

printf "\n \033[45m\033[1;36m==> Make thunderbird-updater systemd timer and service. \033[0m\033[42m\033[1;36m  ==> ... \033[0m \n \n" && \

echo '[Unit]
Description=Thunderbird Updater on boot

[Timer]
OnStartupSec=310
OnUnitActiveSec=24h

[Install]
WantedBy=timers.target' | sudo tee /etc/systemd/system/thunderbird-updater.timer > /dev/null && \
[ -f /etc/systemd/system/thunderbird-updater.timer ] && \
echo "Systemd thunderbird-updater.timer created." && \

echo '[Unit]
Description=Thunderbird Updater
Requires=graphical.target

[Service]
Type=oneshot
Environment=DISPLAY=:0
ExecStart='$PREFIX'/bin/thunderbird-updater.sh' | \
sudo tee /etc/systemd/system/thunderbird-updater.service > /dev/null && \
[ -f //etc/systemd/system/thunderbird-updater.service ] && \
echo "Systemd thunderbird-updater.service created." && \


sudo systemctl enable --quiet thunderbird-updater.timer && \
sudo systemctl enable --quiet thunderbird-updater.service && \
sudo systemctl daemon-reload > /dev/null && \

[ $XDG_SESSION_DESKTOP = KDE ] && \
echo "KDE Desktop found." && \
[ -f $PREFIX/bin/kbuildsycoca5 ] && kbuildsycoca5 --noincremental  || echo "No kbuildsycoca5. Ok" && \
[ -f $PREFIX/bin/kbuildsycoca6 ] && kbuildsycoca6 --noincremental  || echo "No kbuildsycoca6. Ok" && \
sudo update-desktop-database &> /dev/null && \

MY_THUNDERBIRD_VERSION=$(thunderbird -v | awk '{ print $3 }' 2>/dev/null) && \
printf "\n \033[45m\033[1;36m==> Install Thunderbird version $MY_THUNDERBIRD_VERSION - Language=$LANGUAGE successful. \033[0m\033[42m\033[1;36m  ==> Done.\033[0m \n \n" || \
printf "\n \033[41m\033[1;36m==> Install Thunderbird failed.\033[0m \n \n")

#-------------------------------------------------------------------------------
# If needed, Thunderbird deinstall.
#-------------------------------------------------------------------------------

printf "\n \033[43m\033[1;36m==> Thunderbird REMOVE?  \033[0m\033[41m\033[1;36m  ==> ?  \033[0m \n" && \
echo "" && \
echo "Only if you realy like to remove Thunderbird, type ==> Yes <== for confirmation." && \
read -e -p "
[y/N] " YN
[[ $YN == "Yes" ]] && \
(sudo rm -rfv $PREFIX/lib/thunderbird && \
sudo rm -fv $PREFIX/share/applications/thunderbird.desktop && \
sudo update-alternatives --quiet --remove "thunderbird" "$PREFIX/lib/thunderbird/thunderbird" && \
sudo rm -fv $PREFIX/bin/thunderbird-updater.sh && \
sudo rm -fv /etc/systemd/system/thunderbird-updater.timer && \
sudo rm -fv /etc/systemd/system/thunderbird-updater.service && \
sudo find /etc/systemd/system/timers.target.wants -xtype l -print -delete && \
sudo systemctl daemon-reload && \
printf "\n \033[45m\033[1;36m==> Thunderbird removed. \033[0m\033[42m\033[1;36m  ==> Done.\033[0m \n \n" || \
echo "" && \
[ -d $PREFIX/lib/thunderbird ] && \
echo "Not removed.")

Lidux

Anmeldungsdatum:
18. April 2007

Beiträge: 17014

Hallo trollsportverein,

Das letzte Script ist aber für Thunderbird ?

Gruss Lidux

trollsportverein

(Themenstarter)
Avatar von trollsportverein

Anmeldungsdatum:
21. Oktober 2010

Beiträge: 5812

Hoppla, das thunderbird-mozilla-binary-install-helper.sh Skript wollte ich doch eigentlich™ noch gar nicht im Projekte Bereich veröffentlichen. Aber nun ist es passiert. ¯\_(ツ)_/¯

Aber hier nun die akltuelle Version vom Skript:

waterfox-binary-install-helper.sh

  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
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
#!/usr/bin/env bash

#-------------------------------------------------------------------------
# Waterfox Binary Install little helper script.
# https://www.waterfox.net
# https://www.waterfox.net/support/install-waterfox-linux/
#------------------------------------------------------------------------

USER_NAME=$(id -un) && \
USER_UID=$(id -u) && \
WATERFOX_INSTALL_PREFIX=/opt && \
PREFIX=/usr && \
WATERFOX_DL_URL=https://cdn1.waterfox.net/waterfox/releases/latest/linux && \

RELEASE_VERSION=$(lsb_release -cs 2>/dev/null) && \
DISTRIBUTION=$(lsb_release -id | awk '/Distributor/{ print $NF }')
printf "\n \033[45m\033[1;36m==> Running on $DISTRIBUTION $RELEASE_VERSION \033[0m\033[42m\033[1;36m  ==> ... \033[0m \n \n" && \
[ $DISTRIBUTION = Ubuntu ] && \
[ $RELEASE_VERSION = noble ] || \
[ $RELEASE_VERSION = plucky ] || \
[ $RELEASE_VERSION = questing ] && \
echo "$RELEASE_VERSION good". || \
printf "\n \033[41m\033[1;36m==> Sorry, not for $DISTRIBUTION $RELEASE_VERSION.\033[0m \n \n" && \
[ $DISTRIBUTION = Ubuntu ] && \
[ $RELEASE_VERSION = noble ] || \
[ $RELEASE_VERSION = plucky ] || \
[ $RELEASE_VERSION = questing ] || \
(printf "\n \033[41m\033[1;36m==> If you want to install Waterfox despite the negative Ubuntu release version test, type \"Yes\". \033[0m\033[42m\033[1;36m  ==> ... \033[0m \n \n"
read -e -p "
[y/N] " YN
[[ $YN == "Yes" ]] && \
(echo "Try it.")) || exit
printf "\n \033[45m\033[1;36m==> Test sudo. \033[0m\033[42m\033[1;36m  ==> ... \033[0m \n \n" && \
sudo echo "sudo Test, OK." && \

printf "\n \033[43m\033[1;36m==> Waterfox INSTALL?  \033[0m\033[41m\033[1;36m  ==> ?  \033[0m \n" && \
echo "" && \
echo "Only if you realy like to install Waterfox, type ==> Yes <== for confirmation." && \
read -e -p "
[y/N] " YN
[[ $YN == "Yes" ]] && \
(echo "Install some requirements ..." && \
echo ". "
sudo apt-get -qq install curl bzip2 libnotify-bin && \
echo ".."
[ $XDG_SESSION_DESKTOP = KDE ] && [ ! -z $(dpkg -l | awk '/libkf6/{ print $2}' | head -n1) ] && sudo apt-get -qq install libkf5service-bin || echo "No libkf5. Ok" && \
echo "..."
[ $XDG_SESSION_DESKTOP = KDE ] &&[ ! -z $(dpkg -l | awk '/libkf6/{ print $2}' | head -n1) ] && sudo apt-get -qq install libkf6service-bin || echo "No libkf6. Ok" && \
echo "...."

WATERFOX_VERSION=$(curl -H 'Cache-Control: no-cache' -s -i -k --max-time 2 --write-out '%{http_code} %{size_header} %{redirect_url} ' \
"https://cdn1.waterfox.net/waterfox/releases/latest/linux" | \
grep location | sed 's/.*waterfox-//g;s/.tar.bz2//g' 2>/dev/null | \
sed -e 's/^[[:space:]]*//g;s/[[:space:]]*$//g' | xargs) && \

printf "\n \033[45m\033[1;36m==> Current Waterfox version on Server $WATERFOX_VERSION  \033[0m\033[42m\033[1;36m  ==> ... \033[0m \n \n" && \
wget -O /tmp/waterfox.tar.bz2 https://cdn1.waterfox.net/waterfox/releases/latest/linux && \

printf "\n \033[45m\033[1;36m==> Directory for Waterfox is being created and populated.  \033[0m\033[42m\033[1;36m  ==> ... \033[0m \n \n" && \
[ ! -d $WATERFOX_INSTALL_PREFIX ] && mkdir -pv $WATERFOX_INSTALL_PREFIX || echo "$WATERFOX_INSTALL_PREFIX exists. Ok." && \
sudo tar xjfv /tmp/waterfox.tar.bz2 -C $WATERFOX_INSTALL_PREFIX && \
rm -fv /tmp/waterfox.tar.bz2 && \
sudo ln -sf $WATERFOX_INSTALL_PREFIX/waterfox/waterfox /usr/bin/waterfox && \

#------------------------------------------------------------------------
# Create launcher
#------------------------------------------------------------------------

printf "\n \033[45m\033[1;36m==> Create Waterfox program launcher.  \033[0m\033[42m\033[1;36m  ==> ... \033[0m \n \n" && \
[ ! -d $HOME/.local/share/applications ] && mkdir -pv $HOME/.local/share/applications || echo "$HOME/.local/share/applications exists. Ok." && \
echo '[Desktop Entry]
Type=Application
Exec=waterfox %u
Terminal=false
X-MultipleArgs=false
Icon='$WATERFOX_INSTALL_PREFIX'/waterfox/browser/chrome/icons/default/default256.png
StartupWMClass=waterfox
Categories=GNOME;GTK;Network;WebBrowser;
MimeType=application/json;application/pdf;application/rdf+xml;application/rss+xml;application/x-xpinstall;application/xhtml+xml;application/xml;audio/flac;audio/ogg;audio/webm;image/avif;image/gif;image/jpeg;image/png;image/svg+xml;image/webp;text/html;text/xml;video/ogg;video/webm;x-scheme-handler/chrome;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/mailto;
StartupNotify=true
GenericName=Web Browser
Actions=NewWindow;PrivateWindow;ProfileManager;
Name=Waterfox
Name[ach]=Waterfox
Name[af]=Waterfox
Name[an]=Waterfox
Name[ar]=Waterfox
Name[ast]=Waterfox
Name[az]=Waterfox
Name[be]=Waterfox
Name[bg]=Waterfox
Name[bn]=Waterfox
Name[br]=Waterfox
Name[bs]=Waterfox
Name[ca]=Waterfox
Name[ca_valencia]=Waterfox
Name[cak]=Waterfox
Name[cs]=Waterfox
Name[cy]=Waterfox
Name[da]=Waterfox
Name[de]=Waterfox
Name[dsb]=Waterfox
Name[el]=Waterfox
Name[en_CA]=Waterfox
Name[en_GB]=Waterfox
Name[eo]=Waterfox
Name[es_AR]=Waterfox
Name[es_CL]=Waterfox
Name[es_ES]=Waterfox
Name[es_MX]=Waterfox
Name[et]=Waterfox
Name[eu]=Waterfox
Name[fa]=Waterfox
Name[ff]=Waterfox
Name[fi]=Waterfox
Name[fr]=Waterfox
Name[fur]=Waterfox
Name[fy_NL]=Waterfox
Name[ga_IE]=Waterfox
Name[gd]=Waterfox
Name[gl]=Waterfox
Name[gn]=Waterfox
Name[gu_IN]=Waterfox
Name[he]=Waterfox
Name[hi_IN]=Waterfox
Name[hr]=Waterfox
Name[hsb]=Waterfox
Name[hu]=Waterfox
Name[hy_AM]=Waterfox
Name[ia]=Waterfox
Name[id]=Waterfox
Name[is]=Waterfox
Name[it]=Waterfox
Name[ja]=Waterfox
Name[ka]=Waterfox
Name[kab]=Waterfox
Name[kk]=Waterfox
Name[km]=Waterfox
Name[kn]=Waterfox
Name[ko]=Waterfox
Name[lij]=Waterfox
Name[lt]=Waterfox
Name[lv]=Waterfox
Name[mk]=Waterfox
Name[mr]=Waterfox
Name[ms]=Waterfox
Name[my]=Waterfox
Name[nb_NO]=Waterfox
Name[ne_NP]=Waterfox
Name[nl]=Waterfox
Name[nn_NO]=Waterfox
Name[oc]=Waterfox
Name[pa_IN]=Waterfox
Name[pl]=Waterfox
Name[pt_BR]=Waterfox
Name[pt_PT]=Waterfox
Name[rm]=Waterfox
Name[ro]=Waterfox
Name[ru]=Waterfox
Name[sat]=Waterfox
Name[sc]=Waterfox
Name[sco]=Waterfox
Name[si]=Waterfox
Name[sk]=Waterfox
Name[skr]=Waterfox
Name[sl]=Waterfox
Name[son]=Waterfox
Name[sq]=Waterfox
Name[sr]=Waterfox
Name[sv_SE]=Waterfox
Name[szl]=Waterfox
Name[ta]=Waterfox
Name[te]=Waterfox
Name[tg]=Waterfox
Name[th]=Waterfox
Name[tl]=Waterfox
Name[tr]=Waterfox
Name[trs]=Waterfox
Name[uk]=Waterfox
Name[ur]=Waterfox
Name[uz]=Waterfox
Name[vi]=Waterfox
Name[xh]=Waterfox
Name[zh_CN]=Waterfox
Name[zh_TW]=Waterfox
X-GNOME-FullName=Waterfox
X-GNOME-FullName[ach]=Waterfox
X-GNOME-FullName[af]=Waterfox
X-GNOME-FullName[an]=Waterfox
X-GNOME-FullName[ar]=Waterfox
X-GNOME-FullName[ast]=Waterfox
X-GNOME-FullName[az]=Waterfox
X-GNOME-FullName[be]=Waterfox
X-GNOME-FullName[bg]=Waterfox
X-GNOME-FullName[bn]=Waterfox
X-GNOME-FullName[br]=Waterfox
X-GNOME-FullName[bs]=Waterfox
X-GNOME-FullName[ca]=Waterfox
X-GNOME-FullName[ca_valencia]=Waterfox
X-GNOME-FullName[cs]=Waterfox
X-GNOME-FullName[cy]=Waterfox
X-GNOME-FullName[da]=Waterfox
X-GNOME-FullName[de]=Waterfox
X-GNOME-FullName[dsb]=Waterfox
X-GNOME-FullName[el]=Waterfox
X-GNOME-FullName[en_CA]=Waterfox
X-GNOME-FullName[en_GB]=Waterfox
X-GNOME-FullName[eo]=Waterfox
X-GNOME-FullName[es_AR]=Waterfox
X-GNOME-FullName[es_CL]=Waterfox
X-GNOME-FullName[es_ES]=Waterfox
X-GNOME-FullName[es_MX]=Waterfox
X-GNOME-FullName[et]=Waterfox
X-GNOME-FullName[eu]=Waterfox
X-GNOME-FullName[fa]=Waterfox
X-GNOME-FullName[ff]=Waterfox
X-GNOME-FullName[fi]=Waterfox
X-GNOME-FullName[fr]=Waterfox
X-GNOME-FullName[fur]=Waterfox
X-GNOME-FullName[fy_NL]=Waterfox
X-GNOME-FullName[ga_IE]=Waterfox
X-GNOME-FullName[gd]=Waterfox
X-GNOME-FullName[gl]=Waterfox
X-GNOME-FullName[gn]=Waterfox
X-GNOME-FullName[gu_IN]=Waterfox
X-GNOME-FullName[he]=Waterfox
X-GNOME-FullName[hi_IN]=Waterfox
X-GNOME-FullName[hr]=Waterfox
X-GNOME-FullName[hsb]=Waterfox
X-GNOME-FullName[hu]=Waterfox
X-GNOME-FullName[hy_AM]=Waterfox
X-GNOME-FullName[ia]=Waterfox
X-GNOME-FullName[id]=Waterfox
X-GNOME-FullName[is]=Waterfox
X-GNOME-FullName[it]=Waterfox
X-GNOME-FullName[ja]=Waterfox
X-GNOME-FullName[ka]=Waterfox
X-GNOME-FullName[kab]=Waterfox
X-GNOME-FullName[kk]=Waterfox
X-GNOME-FullName[km]=Waterfox
X-GNOME-FullName[kn]=Waterfox
X-GNOME-FullName[ko]=Waterfox
X-GNOME-FullName[lij]=Waterfox
X-GNOME-FullName[lt]=Waterfox
X-GNOME-FullName[lv]=Waterfox
X-GNOME-FullName[mk]=Waterfox
X-GNOME-FullName[mr]=Waterfox
X-GNOME-FullName[ms]=Waterfox
X-GNOME-FullName[my]=Waterfox
X-GNOME-FullName[nb_NO]=Waterfox
X-GNOME-FullName[ne_NP]=Waterfox
X-GNOME-FullName[nl]=Waterfox
X-GNOME-FullName[nn_NO]=Waterfox
X-GNOME-FullName[oc]=Waterfox
X-GNOME-FullName[pa_IN]=Waterfox
X-GNOME-FullName[pl]=Waterfox
X-GNOME-FullName[pt_BR]=Waterfox
X-GNOME-FullName[pt_PT]=Waterfox
X-GNOME-FullName[rm]=Waterfox
X-GNOME-FullName[ro]=Waterfox
X-GNOME-FullName[ru]=Waterfox
X-GNOME-FullName[sat]=Waterfox
X-GNOME-FullName[sc]=Waterfox
X-GNOME-FullName[sco]=Waterfox
X-GNOME-FullName[si]=Waterfox
X-GNOME-FullName[sk]=Waterfox
X-GNOME-FullName[skr]=Waterfox
X-GNOME-FullName[sl]=Waterfox
X-GNOME-FullName[son]=Waterfox
X-GNOME-FullName[sq]=Waterfox
X-GNOME-FullName[sr]=Waterfox
X-GNOME-FullName[sv_SE]=Waterfox
X-GNOME-FullName[szl]=Waterfox
X-GNOME-FullName[ta]=Waterfox
X-GNOME-FullName[te]=Waterfox
X-GNOME-FullName[tg]=Waterfox
X-GNOME-FullName[th]=Waterfox
X-GNOME-FullName[tl]=Waterfox
X-GNOME-FullName[tr]=Waterfox
X-GNOME-FullName[trs]=Waterfox
X-GNOME-FullName[uk]=Waterfox
X-GNOME-FullName[ur]=Waterfox
X-GNOME-FullName[uz]=Waterfox
X-GNOME-FullName[vi]=Waterfox
X-GNOME-FullName[xh]=Waterfox
X-GNOME-FullName[zh_CN]=Waterfox
X-GNOME-FullName[zh_TW]=Waterfox

[Desktop Action NewWindow]
Exec=waterfox --new-window %u
OnlyShowIn=GNOME;KDE;Unity;
Name=New Window
Name[de]=Neues Fenster
Name[fr]=Nouvelle fenêtre
Name[he]=חלון חדש
Name[nl]=Nieuw venster
Name[pl]=Nowe okno

[Desktop Action PrivateWindow]
Exec=waterfox --private-window %u
OnlyShowIn=GNOME;KDE;Unity;
Name=New Private Window
Name[de]=Neues privates Fenster
Name[fr]=Nouvelle fenêtre privée
Name[he]=חלון פרטי חדש
Name[nl]=Nieuw privévenster
Name[pl]=Nowe okno prywatne

[Desktop Action ProfileManager]
Exec=waterfox --ProfileManager
OnlyShowIn=GNOME;KDE;Unity;
Name=Open Profile Manager
Name[de]=Profilverwaltung öffnen
Name[fr]=Ouvrir le gestionnaire de profils
Name[he]=פתיחת מנהל הפרופילים
Name[nl]=Profielbeheerder openen
Name[pl]=Menedżer profili
' > $HOME/.local/share/applications/waterfox.desktop 2>/dev/null && \
[ -f $HOME/.local/share/applications/waterfox.desktop ] && \
echo "Waterfox launcher created." && \

#-------------------------------------------------------------------------
# Create waterfox-updater
#-------------------------------------------------------------------------

printf "\n \033[45m\033[1;36m==> Make Waterfox Updater. \033[0m\033[42m\033[1;36m  ==> ... \033[0m \n \n" && \

echo '#!/usr/bin/env bash

#-------------------------------------------------------------------------
# Update Waterfox when newer version available online.
# Get version info from cdn1.waterfox.net.
#-------------------------------------------------------------------------

WATERFOX_LATEST_RELEASE=$(curl -H '\''Cache-Control: no-cache'\'' -s -i -k --max-time 2 --write-out '\''%{http_code} %{size_header} %{redirect_url} '\'' \
"https://cdn1.waterfox.net/waterfox/releases/latest/linux" | \
grep location | sed '\''s/.*waterfox-//g;s/.tar.bz2//g'\'' 2>/dev/null | \
sed -e '\''s/^[[:space:]]*//g;s/[[:space:]]*$//g'\'' | xargs) && \

MY_WATERFOX_VERSION=$(waterfox -v | awk '\''{ print $3 }'\'' 2>/dev/null) ; \

USER_NAME='$USER_NAME' && \
USER_UID='$USER_UID' && \
WATERFOX_INSTALL_PREFIX='$WATERFOX_INSTALL_PREFIX' && \
PREFIX='$PREFIX' && \

[ $WATERFOX_LATEST_RELEASE = $MY_WATERFOX_VERSION ] 2>/dev/null && \
sudo -u $USER_NAME DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$USER_UID/bus \
$PREFIX/bin/notify-send -i $WATERFOX_INSTALL_PREFIX/waterfox/browser/chrome/icons/default/default128.png \
"$($WATERFOX_INSTALL_PREFIX/waterfox/waterfox -v) is up to date." && \
exit || \
sudo -u $USER_NAME DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$USER_UID/bus \
$PREFIX/bin/notify-send -i $WATERFOX_INSTALL_PREFIX/waterfox/browser/chrome/icons/default/default128.png \
"Waterfox Update.... " && \
wget -O /tmp/waterfox.tar.bz2 "https://cdn1.waterfox.net/waterfox/releases/latest/linux" && \
sudo -u $USER_NAME DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$USER_UID/bus \
/usr/bin/notify-send -i $WATERFOX_INSTALL_PREFIX/waterfox/browser/chrome/icons/default/default128.png \
"Extract new Waterfox Binary in Place.... " && \
rm -rf $WATERFOX_INSTALL_PREFIX/waterfox && \
sudo tar xjf /tmp/waterfox.tar.bz2 -C $WATERFOX_INSTALL_PREFIX && \
rm -fv /tmp/waterfox.tar.bz2 && \
ln -sf $WATERFOX_INSTALL_PREFIX/waterfox/waterfox $PREFIX/bin/waterfox && \
sudo -u $USER_NAME DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$USER_UID/bus \
$PREFIX/bin/notify-send -i $WATERFOX_INSTALL_PREFIX/waterfox/browser/chrome/icons/default/default128.png \
"$($WATERFOX_INSTALL_PREFIX/waterfox/waterfox -v) update successful." || \
sudo -u $USER_NAME DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$USER_UID/bus \
$PREFIX/bin/notify-send -i dialog-error.png \
"Update Waterfox failed."' | sudo tee  /usr/bin/waterfox-updater.sh > /dev/null && \
sudo chmod 755 /usr/bin/waterfox-updater.sh && \
[ -f /usr/bin/waterfox-updater.sh ] && \
echo "Waterfox Updater created." && \

#-------------------------------------------------------------------------
# Waterfox systemd timer and service units.
#-------------------------------------------------------------------------

printf "\n \033[45m\033[1;36m==> Make Waterfox Updater Systemd timer and service. \033[0m\033[42m\033[1;36m  ==> ... \033[0m \n \n" && \

echo '[Unit]
Description=Waterfox Updater on boot

[Timer]
OnStartupSec=310
OnUnitActiveSec=24h

[Install]
WantedBy=timers.target' | sudo tee /etc/systemd/system/waterfox-updater.timer > /dev/null && \
[ -f /etc/systemd/system/waterfox-updater.timer ] && \
echo "Systemd waterfox-updater.timer created." && \

echo '[Unit]
Description=Waterfox Updater
Requires=graphical.target

[Service]
Type=oneshot
Environment=DISPLAY=:0
ExecStart=/usr/bin/waterfox-updater.sh' | sudo tee /etc/systemd/system/waterfox-updater.service > /dev/null && \
[ -f /etc/systemd/system/waterfox-updater.service ] && \
echo "Systemd waterfox-updater.service created." && \

sudo systemctl enable --quiet waterfox-updater.timer && \
sudo systemctl enable --quiet waterfox-updater.service && \
sudo systemctl daemon-reload && \

[ $XDG_SESSION_DESKTOP = KDE ] && \
echo "KDE Desktop found." && \
[ -f $PREFIX/bin/kbuildsycoca5 ] && kbuildsycoca5 --noincremental  || echo "No kbuildsycoca5. Ok" && \
[ -f $PREFIX/bin/kbuildsycoca6 ] && kbuildsycoca6 --noincremental  || echo "No kbuildsycoca6. Ok" && \
sudo update-desktop-database &> /dev/null && \

printf "\n \033[45m\033[1;36m==> Install Waterfox successful. \033[0m\033[42m\033[1;36m  ==> Done.\033[0m \n \n" || \
printf "\n \033[41m\033[1;36m==> Install Waterfox failed.\033[0m \n \n")

#-------------------------------------------------------------------------
# If needed, Waterfox deinstall.
#-------------------------------------------------------------------------

printf "\n \033[43m\033[1;36m==> Waterfox REMOVE?  \033[0m\033[41m\033[1;36m  ==> ?  \033[0m \n" && \
echo "" && \
echo "Only if you realy like to remove Waterfox, type ==> Yes <== for confirmation." && \
read -e -p "
[y/N] " YN
[[ $YN == "Yes" ]] && \
(sudo rm -rfv  $WATERFOX_INSTALL_PREFIX/waterfox && \
sudo rm -fv /usr/bin/waterfox && \
rm -fv $HOME/.local/share/applications/waterfox.desktop && \
sudo rm -fv /usr/bin/waterfox-updater.sh && \
sudo rm -fv /etc/systemd/system/waterfox-updater.timer && \
sudo rm -fv /etc/systemd/system/waterfox-updater.service && \
sudo find /etc/systemd/system/timers.target.wants -xtype l -print -delete && \
sudo systemctl daemon-reload && \
printf "\n \033[45m\033[1;36m==> Waterfox removed. \033[0m\033[42m\033[1;36m  ==> Done.\033[0m \n \n" || \
echo "" && \
[ -d $WATERFOX_INSTALL_PREFIX/waterfox ] && \
echo "Not removed.")
Antworten |