tmp
cronjob every one minute
disable autostart
Repository Structure:
/
├── README.md
├── README_GR.md
├── install.sh
└──/
├── .bashrc
├── refresh.sh
├── timesyncd.conf
├── update_kiosk.sh
└── x11vnc.desktop
Hardware Used: Raspberry Pi Model X (e.g., Raspberry Pi 4)
Raspbian Version: Raspbian X (e.g., Raspbian Buster)
Disclaimer: Για να διασφαλιστεί η σωστή λειτουργία της λειτουργίας περιπτέρου, συνιστάται η απενεργοποίηση του σβησίματος οθόνης. Για να το κάνετε αυτό, ακολουθήστε τα παρακάτω βήματα:
-
Εκτελέστε την ακόλουθη εντολή:
sudo raspi-config
-
Πλοηγηθείτε στο '2. Display Options'
-
Επιλέξτε 'D2. Screen Blanking.'
-
Επιλέξτε 'No' για να απενεργοποιήσετε το σβήσιμο οθόνης.
-
'Finish' τη διαμόρφωση και επανεκκινήστε το Raspberry Pi.
Αυτό το αποθετήριο παρέχει έναν βήμα προς βήμα οδηγό για τη διαμόρφωση ενός Raspberry Pi σε λειτουργία περιπτέρου, επιτρέποντάς του να εμφανίζει μια συγκεκριμένη ιστοσελίδα ή εφαρμογή κατά την εκκίνηση. Η λειτουργία περιπτέρου είναι χρήσιμη για εφαρμογές όπως η ψηφιακή σήμανση ή οι δημόσιες οθόνες.
- Αρχική ρύθμιση
- Ρύθμιση ώρας
- Προσαρμοσμένη εικόνα επιφάνειας εργασίας
- Δημιουργία χρήστη
- Script διαμόρφωσης περιπτέρου
- Εγκατάσταση σύνδεσης απομακρυσμένης επιφάνειας εργασίας (Remote Desktop Connection) με το VNC
- Δημιουργία της εντολής 'kiosk'
- Επανεκκίνηση
- Χρήση
-
Πριν ρυθμίσετε τη λειτουργία περιπτέρου, βεβαιωθείτε ότι το Raspberry Pi σας είναι ενημερωμένο:
sudo apt update sudo apt upgrade -y
-
Αφαιρέστε τα περιττά πακέτα:
sudo apt purge wolfram-engine scratch scratch2 nuscratch sonic-pi idle3 -y sudo apt purge smartsim java-common minecraft-pi libreoffice* -y sudo apt clean sudo apt autoremove -y
-
Εγκαταστήστε το πρόγραμμα περιήγησης Chromium και λοιπά:
sudo apt-get install chromium-browser xdotool screen -y
Για να διαμορφώσετε το συγχρονισμό του χρόνου, ακολουθήστε τα παρακάτω βήματα:
-
Ελέγξτε τις τρέχουσες ρυθμίσεις ώρας:
timedatectl status
-
Επεξεργαστείτε το αρχείο
timesyncd.conf
:sudo nano /etc/systemd/timesyncd.conf
-
Προσθέστε τους ακόλουθους διακομιστές NTP κάτω απο το
[Time]
:NTP=ntp-0.isc.tuc.gr ntp-2.isc.tuc.gr
-
Κάντε επανεκκίνηση της υπηρεσίας systemd timesync:
sudo systemctl restart systemd-timesyncd.service
-
Επαληθεύστε τις ενημερωμένες ρυθμίσεις ώρας:
timedatectl status
Για να ορίσετε μια προσαρμοσμένη εικόνα επιφάνειας εργασίας:
cd ~
sudo wget https://users.isc.tuc.gr/~gfarantouris/pictures/branding/logo_TUC-edit.png
sudo cp logo_TUC-edit.png /usr/share/rpd-wallpaper/
sudo mv /usr/share/rpd-wallpaper/logo_TUC-edit.png /usr/share/rpd-wallpaper/logo_TUC.png
Δημιουργήστε έναν νέο χρήστη για τη λειτουργία kiosk:
sudo adduser kiosk
sudo passwd kiosk
-
Παρέχεται ένα script για τη διαμόρφωση του Chromium για τη λειτουργία kiosk. Εκτελέστε τις ακόλουθες εντολές:
nano ~/update_kiosk.sh
-
Προσθέστε το περιεχόμενο της δέσμης ενεργειών στο αρχείο
update_kiosk.sh
:#!/bin/bash # # Note: This script is used to configure Chromium for kiosk mode. # It deletes the existing @chromium-browser --kiosk line from # /etc/xdg/lxsession/LXDE-pi/autostart, inserts the provided website URL, # and prompts the user for a reboot. # # Usage: Type 'kiosk' in the terminal to run this script. # # --- METADATA: --- # Author: Farantouris Dimitris (gfarantouris) # Date: October 2023 # # Check if the script is being run with sudo if [ "$EUID" -ne 0 ]; then echo "Please run this script with sudo." exit 1 fi # Prompt the user for the website URL to use in kiosk mode read -p "Enter the URL for kiosk mode: " website # Update the autostart file sudo sed -i '/@chromium-browser --kiosk/d' /etc/xdg/lxsession/LXDE-pi/autostart echo "@chromium-browser --kiosk \$website" >> /etc/xdg/lxsession/LXDE-pi/autostart # Notify the user to reboot echo "Changes have been made to the autostart file." read -p "You should reboot now. Type 'yes' to reboot or 'no' to skip: " choice if [ "\$choice" = "yes" ]; then sudo reboot else echo "You can manually reboot later." fi
-
Στη συνέχεια, θα χορηγήσουμε δικαιώματα εκτέλεσης στο script.
sudo chmod +x ~/update_kiosk.sh
-
Ορισμένες φορές, η προεπιλεγμένη θέση του ποντικιού μπορεί να έρχεται σε σύγκρουση με στοιχεία σε μια ιστοσελίδα. Για να επανατοποθετήσετε το ποντίκι στην επάνω αριστερή γωνία, μπορείτε να κάνετε προσαρμογές στο αρχείο
autostart
:sudo nano /etc/xdg/lxsession/LXDE-pi/autostart
-
Προσθέστε την επόμενη γραμμή στο τέλος του αρχείου:
@xdotool mousemove 0 0
Το ακόλουθο script έχει σχεδιαστεί για την αυτόματη ανανέωση μιας ιστοσελίδας προσομοιώνοντας το πάτημα του πλήκτρου F5 κάθε 5 λεπτά (300 δευτερόλεπτα). Αυτή η περιοδική ανανέωση εξασφαλίζει ότι το περιεχόμενο του περιπτέρου παραμένει ενημερωμένο, καθιστώντας το ιδανικό για την προβολή δυναμικών πληροφοριών που βασίζονται στον ιστό.
-
Το script βρίσκεται στη διεύθυνση
~/.config/autostart/refresh.sh
, οπότε πρέπει να δημιουργήσουμε το αρχείοrefresh.sh
:sudo -u kiosk mkdir /home/kiosk/.config/ sudo -u kiosk mkdir /home/kiosk/.config/autostart/
sudo -u kiosk nano /home/kiosk/.config/autostart/refresh.sh
#!/bin/bash # Kiosk Refresh Script # Author: Farantouris Dimitris (gfarantouris) # Date: October 2023 while true; do # Simulate pressing the F5 key to refresh the page xdotool key F5 # Sleep for 5 minutes (300 seconds) sleep 300 done
-
Για να εγκαταστήσετε το διακομιστή VNC, εκτελέστε τις ακόλουθες εντολές:
sudo apt-get install x11vnc -y x11vnc -storepasswd
-
Στη συνέχεια, δημιουργήστε έναν κωδικό πρόσβασης VNC για τον χρήστη "kiosk", διασφαλίζοντας ότι ο διακομιστής VNC έχει ρυθμιστεί και για τη δική του χρήση.
sudo -u kiosk x11vnc -storepasswd
-
Δημιουργήστε μια ρύθμιση αυτόματης εκκίνησης για το x11vnc:
mkdir -p ~/.config/autostart nano ~/.config/autostart/x11vnc.desktop
-
Προσθέστε το ακόλουθο περιεχόμενο:
[Desktop Entry] Encoding=UTF-8 Type=Application Name=X11VNC Exec=x11vnc -forever -usepw -display :0 -ultrafilexfer StartupNotify=false Terminal=false Hidden=false
-
Πρέπει να μεταβείτε στον χρήστη του περιπτέρου για να εκτελέσετε συγκεκριμένες ενέργειες για λογαριασμό του. Για να το κάνετε αυτό, χρησιμοποιήστε τις ακόλουθες εντολές:
su kiosk
mkdir -p ~/.config/autostart nano ~/.config/autostart/x11vnc.desktop
-
Προσθέστε το ακόλουθο περιεχόμενο:
[Desktop Entry] Encoding=UTF-8 Type=Application Name=X11VNC Exec=x11vnc -forever -usepw -display :0 -ultrafilexfer StartupNotify=false Terminal=false Hidden=false
-
Αφού ολοκληρώσετε τις εργασίες ως χρήστης 'kiosk', μπορείτε να επιστρέψετε στον χρήστη admin με την ακόλουθη εντολή:
exit
Αυτές οι εντολές διευκολύνουν την προσωρινή εναλλαγή χρηστών, επιτρέποντάς σας να εκτελείτε ενέργειες ως χρήστης 'kiosk' και στη συνέχεια να επιστρέφετε εύκολα στο χρήστη admin.
Για να αυξήσετε την ευκολία του χρήστη και να ενημερώσετε αποτελεσματικά την ιστοσελίδα του περιπτέρου, μπορείτε να δημιουργήσετε μια εντολή 'kiosk'. Αυτή η εντολή απλοποιεί τη διαδικασία διαμόρφωσης και εκτέλεσης του σεναρίου kiosk.
Ακολουθήστε τα παρακάτω βήματα για να δημιουργήσετε και να χρησιμοποιήσετε την εντολή 'kiosk':
-
Επεξεργαστείτε το αρχείο
.bashrc
για τον τρέχοντα χρήστη:nano ~/.bashrc
-
Προσθέστε ένα ψευδώνυμο για τον εξορθολογισμό της εκτέλεσης του σεναρίου kiosk. Εισάγετε την ακόλουθη γραμμή στο αρχείο
.bashrc
:alias kiosk='sudo /home/linuxadmin/update_kiosk.sh'
Φροντίστε να αντικαταστήσετε το "linuxadmin" με το όνομα χρήστη του διαχειριστή σας στις ακόλουθες οδηγίες.
-
Αποθηκεύστε τις αλλαγές και βγείτε από τον επεξεργαστή κειμένου.
-
Για να εφαρμόσετε την ενημερωμένη διαμόρφωση
.bashrc
, πάρτε την πηγή χρησιμοποιώντας την ακόλουθη εντολή:source ~/.bashrc
Με την εντολή 'kiosk' στη θέση της, μπορείτε να ενημερώσετε αποτελεσματικά την ιστοσελίδα kiosk εκτελώντας απλά την εντολή 'kiosk' στο τερματικό. Αυτό βελτιώνει τη διαδικασία και απλοποιεί τη διαχείριση της λειτουργίας kiosk.
Τώρα είστε έτοιμοι να επανεκκινήσετε το Raspberry Pi.
sudo επανεκκίνηση
Αυτό ήταν! Το Raspberry Pi σας θα πρέπει τώρα να έχει ρυθμιστεί σε λειτουργία περιπτέρου.
Για να ρυθμίσετε το Raspberry Pi σας σε λειτουργία περιπτέρου, ακολουθήστε τα παρακάτω βήματα:
-
Ανοίξτε ένα παράθυρο τερματικού στο Raspberry Pi σας.
-
Εκτελέστε την ακόλουθη εντολή για να ξεκινήσει η διαδικασία διαμόρφωσης:
kiosk
-
Το script θα σας καθοδηγήσει στη διαδικασία ρύθμισης. Ακολουθήστε τις οδηγίες που εμφανίζονται στην οθόνη για να ολοκληρώσετε τη διαμόρφωση.
-
Μόλις ολοκληρωθεί η διαμόρφωση, θα σας ζητηθεί να επανεκκινήσετε το Raspberry Pi. Πληκτρολογήστε "yes" για να κάνετε αμέσως επανεκκίνηση.