apfelcast

Raspberry Pi Diashow

Feb 20th, 2021
861
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.56 KB | None | 0 0
  1. #### Raspberry Picture Frame with Nextcloud ####
  2.  
  3. ## Update Raspberry Pi ##
  4. sudo su
  5. apt update && apt upgrade
  6.  
  7. ## Install all dependencies ##
  8. apt install build-essential git cmake openssl libssl-dev sqlite3 libsqlite3-dev qt5-default libqt5webkit5-dev qttools5-dev qttools5-dev-tools python-sphinx texlive-latex-base inotify-tools qt5keychain-dev doxygen extra-cmake-modules kio-dev
  9.  
  10. ## compile from GitHub ##
  11. cd ~
  12. git clone https://github.com/nextcloud/client_theming.git nextcloud_client
  13. cd nextcloud_client
  14. git submodule update --init
  15. cd client
  16. git submodule update --init
  17. cd ..
  18. mkdir build
  19. cd build
  20. cmake -D OEM_THEME_DIR=$(pwd)/../nextcloudtheme ../client
  21. sed -i 's/Icon=nextcloud/Icon=Nextcloud/g' src/gui/nextcloud.desktop
  22. sed -i 's/Icon\[\(.*\)\]=nextcloud/Icon\[\1\]=Nextcloud/g' src/gui/nextcloud.desktop
  23. make
  24.  
  25. sudo make install
  26.  
  27. ## check if running ##
  28. nextcloudcmd -v
  29.  
  30. ## if error, then.. ##
  31. echo 'LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib/arm-linux-gnueabihf' | sudo tee -a /etc/environment
  32. grep '/usr/local/lib/arm-linux-gnueabihf' /etc/ld.so.conf.d/arm-linux-gnueabihf.conf >/dev/null 2>&1 || echo '/usr/local/lib/arm-linux-gnueabihf' | sudo tee -a /etc/ld.so.conf.d/arm-linux-gnueabihf.conf
  33. grep '/usr/local/lib/arm-linux-gnueabihf' /etc/ld.so.conf.d/x86_64-linux-gnu.conf >/dev/null 2>&1 || echo '/usr/local/lib/arm-linux-gnueabihf' | sudo tee -a /etc/ld.so.conf.d/x86_64-linux-gnu.conf
  34. sudo ldconfig
  35. export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib/arm-linux-gnueabihf
  36.  
  37. ## check again ##
  38. nextcloudcmd -v https://n3.apfelcast.com/remote.php/dav/files/raspberry/
  39.  
  40. ## create directory ##
  41. mkdir /home/pi/cloud
  42.  
  43. ## create netrc file ##
  44. nano ~/.netrc
  45.  
  46. machine mein.server.de
  47. login benutzername
  48. password passwort
  49.  
  50. chmod 0600 ~/.netrc
  51.  
  52. ## sync via cli ##
  53. nextcloudcmd --non-interactive -n /var/data/cloud/ https://mein.server.de/remote.php/webdav/
  54.  
  55.  
  56. ## install slideshoe software ##
  57. wget https://github.com/NautiluX/slide/releases/download/v0.9.0/slide_pi_stretch_0.9.0.tar.gz
  58. tar xf slide_pi_stretch_0.9.0.tar.gz
  59. mv slide_0.9.0/slide /usr/local/bin/
  60.  
  61. apt install libexif12 qt5-default
  62.  
  63. ## autostart slideshow at boot ##
  64. nano /etc/xdg/lxsession/LXDE-pi/autostart
  65.  
  66. @xset s noblank
  67. @xset s off
  68. @xset -dpms
  69. @slide -t 30 -o 200 -p /home/pi/cloud/Diashow
  70.  
  71. ## disable screen blacking after 10 minutes ##
  72. nano /etc/lightdm/lightdm.conf
  73.  
  74. [SeatDefaults]
  75. xserver-command=X -s 0 -dpms
  76.  
  77. ## V1: Simple crontab sync ##
  78. crontab -e
  79. */15 * * * * nextcloudcmd -n /home/pi/cloud/Diashow https://meine.domain.com/remote.php/webdav/ >/dev/null 2>&1
  80.  
  81. ## V2: automate Sync via bash skript ##
  82. nano /home/pi/cloud-sync.sh
  83.  
  84. #!/bin/bash
  85. LOCAL=/var/data/cloud/
  86. REMOTE=https://mein.server.de/remote.php/webdav/
  87. PARAMS="--non-interactive -n --exclude /home/pi/cloud-sync-exclude.txt"
  88.  
  89. LOG=/var/log/cloud-sync.log
  90.  
  91. if [ pgrep -x nextcloudcmd ]; then
  92. echo "====================" | tee -a $LOG
  93. date -R | tee -a $LOG
  94. echo "Cloud-Sync läuft schon!" | tee -a $LOG
  95. echo "====================" | tee -a $LOG
  96. exit 1
  97. fi
  98.  
  99. echo "====================" | tee -a $LOG
  100. date -R | tee -a $LOG
  101. echo "Cloud-Sync gestartet" | tee -a $LOG
  102. echo "====================" | tee -a $LOG
  103.  
  104. /usr/local/bin/nextcloudcmd $PARAMS $LOCAL $REMOTE 2>&1 | tee -a $LOG
  105.  
  106. echo "====================" | tee -a $LOG
  107. date -R | tee -a $LOG
  108. echo "Cloud-Sync beendet" | tee -a $LOG
  109. echo "====================" | tee -a $LOG
  110.  
  111. ## make executable ##
  112. chmod +x /home/pi/cloud-sync.sh
  113.  
  114. ## automate via crontab ##
  115. 0 4 * * * /home/pi/cloud-sync.sh >/dev/null &
Advertisement
Add Comment
Please, Sign In to add comment