Skip to content

Commit f53e60c

Browse files
committed
Add core scripts
1 parent ac1ee89 commit f53e60c

18 files changed

+1312
-0
lines changed

chromium_change_homepage.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
---
2+
title: "Chromium - Skift startside"
3+
parent: "Kiosk"
4+
source: os2borgerpc-scripts/os2borgerpc/os2borgerpc_kiosk/chromium_change_homepage.sh
5+
parameters:
6+
- name: "URL"
7+
type: "string"
8+
default: null
9+
mandatory: true
10+
compatibility:
11+
- "22.04"
12+
- "Kiosk"
13+
---
14+
15+
## Beskrivelse
16+
Skifter startside i Chromium.
17+
18+
Hvis du oplever scriptet fejle, genkør da OS2borgerPC Kiosk - Autostart Chromium før dette.
19+
20+
Dette script er blevet testet og virker på Ubuntu 22.04.
21+
22+
## Parametre
23+
1: Hvilken URL der skal være den nye startside.
24+

chromium_delete_profile.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
---
2+
title: "Chromium Ryd Cache NU"
3+
parent: "Kiosk"
4+
source: os2borgerpc-scripts/os2borgerpc/os2borgerpc_kiosk/chromium_delete_profile.sh
5+
parameters:
6+
compatibility:
7+
- "22.04"
8+
- "Kiosk"
9+
---
10+
11+
## Beskrivelse
12+
Dette script sletter Chromiums profil (inkl. cache) ÉN GANG, hvilket nulstiller browserens historik.
13+
14+
Dette script er blevet testet og virker på Ubuntu 22.04.

desktop_program_shortcut.md

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
---
2+
title: "Genvej til program fra skrivebordet"
3+
parent: "Desktop"
4+
source: os2borgerpc-scripts/os2borgerpc/desktop/desktop_program_shortcut.sh
5+
parameters:
6+
- name: "Tilføj programmet?"
7+
type: "boolean"
8+
default: null
9+
mandatory: false
10+
- name: "Program"
11+
type: "string"
12+
default: null
13+
mandatory: true
14+
compatibility:
15+
- "22.04"
16+
- "BorgerPC"
17+
---
18+
19+
## Beskrivelse
20+
Tilføjer/Fjerner en genvej til/fra et program på skrivebordet.
21+
22+
Log ud efter kørsel.
23+
24+
BEMÆRK: Før genveje på skrivebordet fungerer, skal scriptet "Desktop - Aktiver genveje" også være kørt. Dette script er dog allerede indbygget i de nyere images.
25+
26+
Dette script er blevet testet og virker på Ubuntu 22.04.
27+
28+
## Parametre
29+
1: Tilføj programmet:
30+
Sæt hak: Programmet tilføjes til Skrivebordet
31+
Fjern hak: Programmet fjernes fra Skrivebordet (hvis det ligger der)
32+
2: Programnavn: Det program du ønsker at tilføje eller slette fra skrivebordet. Programnavnet skal matche navnet på en genvej til et installeret program.
33+
Navnet er næsten altid med små bogstaver, og mellemrum erstattet af bindestreg.
34+
Eksempler: firefox, google-chrome, microsoft-edge, simple-scan, yelp, libreoffice-impress, libreoffice-writer, libreoffice-calc
35+
36+
Hvis du ikke kender program-navnet præcist, kan du bruge scriptet "Desktop - Vis programliste".
37+

desktop_shortcut_to_directory.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
---
2+
title: "Genvej til valgfri mappe fra skrivebordet"
3+
parent: "Desktop"
4+
source: os2borgerpc-scripts/os2borgerpc/desktop/desktop_shortcut_to_directory.sh
5+
parameters:
6+
- name: "Tilføj?"
7+
type: "boolean"
8+
default: null
9+
mandatory: false
10+
- name: "Sti til mappe"
11+
type: "string"
12+
default: null
13+
mandatory: true
14+
- name: "Navn på genvej"
15+
type: "string"
16+
default: null
17+
mandatory: true
18+
compatibility:
19+
- "22.04"
20+
- "BorgerPC"
21+
---
22+
23+
## Beskrivelse
24+
Opretter en genvej til en valgfri mappe på Skrivebordet.
25+
Dette script er blevet testet og virker på Ubuntu 22.04.
26+
27+
## Parametre
28+
1. Stien til mappen (eksempelvis: "/home/user/Dokumenter" )
29+
2. Navnet på genvejen (eksempelvis: "Skannede filer" )
30+
...begge uden citationstegnene rundt om.
31+
32+
Bemærk at ift. stien, så har store og små bogstaver en betydning!
33+

network_printer_add_no_ppd.md

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
---
2+
title: "Tilføj netværksprinter"
3+
parent: "Printer"
4+
source: os2borgerpc-scripts/os2borgerpc/printer/network_printer_add_no_ppd.sh
5+
parameters:
6+
- name: "Navn (OBS: INGEN ÆØÅ, mellemrum eller apostrofer)"
7+
type: "string"
8+
default: null
9+
mandatory: true
10+
- name: "IP-adresse"
11+
type: "string"
12+
default: null
13+
mandatory: true
14+
- name: "Beskrivelse / Placering (INGEN ÆØÅ)"
15+
type: "string"
16+
default: null
17+
mandatory: true
18+
- name: "Protokol"
19+
type: "string"
20+
default: "ipp"
21+
mandatory: false
22+
- name: "Sæt som standard?"
23+
type: "boolean"
24+
default: null
25+
mandatory: false
26+
compatibility:
27+
- "22.04"
28+
- "BorgerPC"
29+
---
30+
31+
## Beskrivelse
32+
Tilføjer en netværksprinter.
33+
34+
Dette script er blevet testet og virker på Ubuntu 22.04.
35+
36+
## Parametre
37+
* Printernavn - ingen Æ, Ø og Å, ingen mellemrum og ingen apostrofer
38+
* IP-adresse
39+
* Beskrivelse / Placering - denne kan godt indeholde mellemrum
40+
* Protokol - vi anbefaler at afprøve ipp først, medmindre du ved, at denne protokol ikke er understøttet. Andre muligheder er eksempelvis "socket".
41+
* Sæt som standard? Afgører om printeren også sættes som standard-printer eller ej. Det vil typisk sige, om den er forvalgt i diverse programmer, når der printes.
42+
43+
EFTER kørsel af dette script, kan du evt. ændre indstillinger på printeren med scriptet "Printer - Sæt printer-indstillinger".
44+
45+
NÆRMERE INFO OMKRING PROTOKOLLER:
46+
Scriptet "Vis printer-liste" kan give en idé om hvilke protokoller en printer understøtter, men det er ikke altid, de er til at identificere. Den sikreste metode for at afgøre hvilke protokoller der understøttes, er derfor at kigge i printerens dokumentation.
47+
48+
IPP:
49+
IPP kører over TCP og bruger normalt port 631.
50+
Nærmere info: https://en.wikipedia.org/wiki/Internet_Printing_Protocol
51+
52+
Socket/Appscoket/Jetdirect
53+
http://www.cups.org/doc/network.html
54+
https://wiki.debian.org/CUPSPrintQueues#appsock
55+
56+

network_printer_add_ppd.md

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
---
2+
title: "Tilføj netværksprinter (PPD-fil skal angives)"
3+
parent: "Printer"
4+
source: os2borgerpc-scripts/os2borgerpc/printer/network_printer_add_ppd.sh
5+
parameters:
6+
- name: "Navn (OBS: INGEN ÆØÅ, mellemrum eller apostrofer)"
7+
type: "string"
8+
default: null
9+
mandatory: true
10+
- name: "IP-adresse"
11+
type: "string"
12+
default: null
13+
mandatory: true
14+
- name: "Beskrivelse / Placering (INGEN ÆØÅ)"
15+
type: "string"
16+
default: null
17+
mandatory: true
18+
- name: "PPD-fil"
19+
type: "file"
20+
default: null
21+
mandatory: true
22+
- name: "Protokol"
23+
type: "string"
24+
default: "ipp"
25+
mandatory: false
26+
- name: "Sæt som standard?"
27+
type: "boolean"
28+
default: null
29+
mandatory: false
30+
compatibility:
31+
- "22.04"
32+
- "BorgerPC"
33+
---
34+
35+
## Beskrivelse
36+
Tilføj ny netværksprinter.
37+
38+
Dette script er blevet testet og virker på Ubuntu 22.04.
39+
40+
BEMÆRK: Medmindre du har særlige grunde, der kræver en PPD, anbefaler vi i stedet at tilføje printere med scriptet "Tilføj netværksprinter", som ikke kræver en PPD.
41+
42+
## Parametre
43+
* Printernavn - ingen Æ, Ø og Å og ingen mellemrum
44+
* IP-adresse
45+
* Beskrivelse / placering - denne kan godt indeholde mellemrum
46+
* Printer-driver (PPD-fil)
47+
* Protokol - protokollen "socket", også kaldet "appsocket" og "jetdirect" er forvalgt, da det er den protokol dette script historisk har brugt.
48+
Hvis scriptet "Tilføj netværksprinter", som har IPP-protokollen forvalgt, ikke virker for den pågældende printer, anbefaler vi at afprøve at køre dette script med "socket".
49+
* Sæt som standard? Afgører om printeren også sættes som standard-printer eller ej. Det vil typisk sige, om den er forvalgt i diverse programmer, når der printes.
50+
51+
EFTER kørsel af dette script, kan du evt. ændre indstillinger på printeren med scriptet "Printer - Sæt printer-indstillinger".
52+
53+
NÆRMERE INFO OMKRING PROTOKOLLER:
54+
Scriptet "Vis printer-liste" kan give en idé om hvilke protokoller en printer understøtter, men det er ikke altid, de er til at identificere. Den sikreste metode for at afgøre hvilke protokoller der understøttes, er derfor at kigge i printerens dokumentation.
55+
56+
IPP:
57+
IPP kører over TCP og bruger normalt port 631.
58+
Nærmere info: https://en.wikipedia.org/wiki/Internet_Printing_Protocol
59+
60+
Socket/Appscoket/Jetdirect
61+
http://www.cups.org/doc/network.html
62+
https://wiki.debian.org/CUPSPrintQueues#appsock
63+
64+

scripts/chromium_change_homepage.sh

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
#! /usr/bin/env sh
2+
3+
NEW_URL="$1"
4+
5+
if ! get_os2borgerpc_config os2_product | grep --quiet kiosk; then
6+
echo "Dette script er ikke designet til at blive anvendt på en regulær OS2borgerPC-maskine."
7+
exit 1
8+
fi
9+
10+
CHROMIUM_SCRIPT='/usr/share/os2borgerpc/bin/start_chromium.sh'
11+
sed --in-place --regexp-extended "s%(IURL=\").*%\1$NEW_URL\"%" $CHROMIUM_SCRIPT

scripts/chromium_delete_profile.sh

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
#!/bin/bash
2+
3+
if ! get_os2borgerpc_config os2_product | grep --quiet kiosk; then
4+
echo "Dette script er ikke designet til at blive anvendt på en regulær OS2borgerPC-maskine."
5+
exit 1
6+
fi
7+
8+
rm -r /home/chrome/snap/chromium/common/chromium/Default

scripts/desktop_program_shortcut.sh

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
#! /usr/bin/env sh
2+
3+
# Adds/Removes programs from the desktop in Ubuntu 20.04
4+
5+
#
6+
# This script has been updated to automatically detect the name of
7+
# the 'Desktop' directory in the chosen locale.
8+
#
9+
# Arguments:
10+
# 1: Use a boolean to decide whether to add or remove the program shortcut
11+
# 2: This argument should specify the name of a program (.desktop-file)
12+
# under /usr/share/applications/ or /var/lib/snapd/desktop/applications/
13+
# This parameter IS case-sensitive as some applications have
14+
# capitalized characters in their filename.
15+
16+
ADD="$1"
17+
PROGRAM="$2"
18+
19+
if get_os2borgerpc_config os2_product | grep --quiet kiosk; then
20+
echo "Dette script er ikke designet til at blive anvendt på en kiosk-maskine."
21+
exit 1
22+
fi
23+
24+
# Determine the name of the user desktop directory. This is done via xdg-user-dir,
25+
# which checks the /home/user/.config/user-dirs.dirs file. To ensure this file exists,
26+
# we run xdg-user-dirs-update, which generates it based on the environment variable
27+
# LANG. This variable is empty in lightdm so we first export it
28+
# based on the value stored in /etc/default/locale
29+
export "$(grep LANG= /etc/default/locale | tr -d '"')"
30+
runuser -u user xdg-user-dirs-update
31+
DESKTOP=$(basename "$(runuser -u user xdg-user-dir DESKTOP)")
32+
33+
SHADOW_DESKTOP="/home/.skjult/$DESKTOP"
34+
SNAP_DESKTOP_FILE_PATH="/var/lib/snapd/desktop/applications"
35+
APT_DESKTOP_FILE_PATH="/usr/share/applications"
36+
37+
# TODO?: Make it replace all desktop icons which are copies with symlinks?
38+
39+
mkdir --parents "$SHADOW_DESKTOP"
40+
41+
# They can type in chrome, but the desktop file is called google-chrome
42+
# They can type in edge, but the desktop file is called microsoft-edge
43+
# They can also type in okular, but the desktop file is called okularApplication_kimgio
44+
if [ "$PROGRAM" = "chrome" ]; then
45+
PROGRAM="google-chrome"
46+
elif [ "$PROGRAM" = "edge" ]; then
47+
PROGRAM="microsoft-edge"
48+
elif [ "$PROGRAM" = "okular" ]; then
49+
PROGRAM="okularApplication_kimgio"
50+
fi
51+
52+
if [ "$ADD" = 'True' ]; then
53+
if [ -f "$SNAP_DESKTOP_FILE_PATH/${PROGRAM}_$PROGRAM.desktop" ]; then
54+
ORIGINAL_FILE=$SNAP_DESKTOP_FILE_PATH/${PROGRAM}_$PROGRAM.desktop
55+
else
56+
ORIGINAL_FILE=$APT_DESKTOP_FILE_PATH/$PROGRAM.desktop
57+
fi
58+
# Check that the program actually exists and exit if it doesn't
59+
if [ ! -f "$ORIGINAL_FILE" ]; then
60+
echo "The chosen program name did not match any installed programs. Exiting."
61+
exit 1
62+
fi
63+
# Remove it first as it may be a copy and not symlink (ln --force can't overwrite regular files)
64+
rm --force "$SHADOW_DESKTOP/$(basename "$ORIGINAL_FILE")"
65+
66+
# Ensure that the local copy exists
67+
LOCAL_FILE_COPY="/home/.skjult/.local/share/applications/$(basename "$ORIGINAL_FILE")"
68+
mkdir --parents "$(dirname "$LOCAL_FILE_COPY")"
69+
if [ ! -f "$LOCAL_FILE_COPY" ]; then
70+
cp "$ORIGINAL_FILE" "$LOCAL_FILE_COPY"
71+
fi
72+
73+
ln --symbolic --force "$LOCAL_FILE_COPY" "$SHADOW_DESKTOP"/
74+
else
75+
if [ -f "$SHADOW_DESKTOP/${PROGRAM}_$PROGRAM.desktop" ]; then
76+
PROGRAM=${PROGRAM}_$PROGRAM
77+
fi
78+
rm --force "$SHADOW_DESKTOP/$PROGRAM.desktop"
79+
fi
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
#! /usr/bin/env sh
2+
3+
# Places a shortcut on the Desktop to any directory on the file system
4+
#
5+
# Parameters:
6+
# 1: Whether to add or remove the shortcut
7+
# 2: The path to the directory you want a shortcut to
8+
# 3: The name of the shortcut on the Desktop
9+
10+
set -ex
11+
12+
if get_os2borgerpc_config os2_product | grep --quiet kiosk; then
13+
echo "Dette script er ikke designet til at blive anvendt på en kiosk-maskine."
14+
exit 1
15+
fi
16+
17+
ADD="$1"
18+
DIRECTORY="$2"
19+
SHORTCUT_NAME="$3"
20+
21+
# Determine the name of the user desktop directory. This is done via xdg-user-dir,
22+
# which checks the /home/user/.config/user-dirs.dirs file. To ensure this file exists,
23+
# we run xdg-user-dirs-update, which generates it based on the environment variable
24+
# LANG. This variable is empty in lightdm so we first export it
25+
# based on the value stored in /etc/default/locale
26+
export "$(grep LANG= /etc/default/locale | tr -d '"')"
27+
runuser -u user xdg-user-dirs-update
28+
DESKTOP=$(basename "$(runuser -u user xdg-user-dir DESKTOP)")
29+
30+
SHADOW_DESKTOP="/home/.skjult/$DESKTOP"
31+
32+
mkdir --parents "$SHADOW_DESKTOP"
33+
34+
if [ "$ADD" = "True" ]; then
35+
# Note: "ln" doesn't care if the destination ($DIRECTORY) exists
36+
ln --symbolic --force "$DIRECTORY" "$SHADOW_DESKTOP/$SHORTCUT_NAME"
37+
else
38+
rm "$SHADOW_DESKTOP/$SHORTCUT_NAME"
39+
fi

0 commit comments

Comments
 (0)