Raspberry Pi4 如何設定螢幕解析度

瞎咪~~~設定螢幕解析度有什麼好分享的呢? 說實話,真的沒有那麼直覺,可以自己找到設定。 首先,用了以下指令去修改使用的解析度: sudo nano /boot/config.txt 改好重開機,解析度依舊沒有改變。 但是在Desktop的界面裡面,找了 偏好設定-->Raspberry Pi設定,根本就沒有有關螢幕解析度的設定。最後~~原來藏在一個非常不起眼的地方: 偏好設定-->Screen Configuration,選單 Configure-->Screens-->HDMI-1-->Resolution 本篇參考Google大大的文章如下: https://pimylifeup.com/raspberry-pi-screen-resolution/

如何透過SSH進入Docker的Container

為了不讓文章太少字,筆者就在羅梭的多寫一些咚咚囉~~~ 甚麼是Docker,其實可以想成就是一種虛擬機器的技術,跟VirtualBox、VMWare是類似的東西,這樣比較好理解,當然官方說法,請參閱Wiki。 Synology NAS的Docker用套件中心,隨便點一點就建立好了,但是如果你有一台伺服器想要自己架設,那請參考這篇。 省去了安裝步驟,但是要如何用SSH進入到Docker的Container(虛擬機)內呢?第一個方式你可以用Synology --> Docker --> 容器 --> 詳細資料 --> 終端機 --> 新增 這樣就解決了,如下圖。 但是這樣的問題是,沒有辦法複製貼上,指令只能一個字一個字打,你也知道的,大部分指令都是從Google大神哪邊複製來的,所以這個方法不好用。 另一個方式就是只好用SSH連線到Synology本身,然後再用指令進去Docker裡,這個方式要怎麼做呢? 首先,要能SSH進到Synology NAS上,然後再用下列指令進入到Docker的Container內。 sudo docker exec -it synology_gitlab /bin/bash exec是執行一個指令,當然你也可以執行ls,但是執行/bin/bash的話,就是進去囉。 synology_gitlab,是容器的名稱,就是情況不一樣了。 參數 i 保持STDIN;參數 t 製造一個偽終端。 其它更進階的Docker學習,請參考《Docker...

在Docker內編輯設定檔案

Docker的容器內是無法編輯檔案的,所以要自己下載,進入到終端機後執行以下指令: sudo apt-get update sudo apt-get install vim nano

使用反向代理連接DSM後,Docker終端機連線錯誤的解法

如題: Docker容器-->詳細資料-->終端機,出現「Socket已關閉」錯誤的解法。 這個問題感謝 RAYKUO'S BLOG ,這篇文章,已有詳列解法,經實測也確實能解。 sudo vi /usr/syno/share/nginx/Portal.mustache 在 {{/customize_headers}}前增加以下 proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; 之後重啟服務: synoservicecfg --restart nginx

在Synology的Docker設定Redmind郵件寄送

之前有設定過Gitlab的郵件寄送,可以參考這一篇。或者參考一下已下熱心網友的分享: https://snippetinfo.net/mobile/media/1954 我的設定參數如下,經實驗可以正常寄出(以中華電信郵件主機為例): SMTP_AUTHENTICATION login SMTP_STARTTLS true SMTP_PASS ...

跨網站登入的實際應用

跨網站登入就是跨多個不同的Web Server,因為Web Server有自己的Session線程,如果Session無法做到共用的話,就必須要用其他方式處理,如下圖簡單的示意圖: 第一步:是A Web Server給了Client Browser一個連結,而這個連結是連線到A Web Server的pagaA。 第二步:A Web Server回應一個Form表單,但是立即submit出去,而form表單中的src指向B Web Server。 第三步:B Web Server接收了來自Client Browser就會產生B Web Server Session,這個時候,因為收了Client的post資料,資料內可以是Token或者是帳號與密碼(這個部分最好用JWT加解密)。而拿到的Token也可以用Server to Server的方式去詢問資料的有效性。 以上是一個簡單的跨站資料傳輸保有Session的流程,但是不建議在外部網路使用喔,因為有一個弱點,就是在Client Browse可以停用java script,這樣給client的表單就不會被送出,那麼就可以利用來作手腳了。 Form表單的內容可以參考如下: <form action='B Web...

GitLab在反向代理後的設定

透過反向代理的設定,這篇文章已經有談過了,如果還有不懂的地方可以參考以下文章: 利用反向代理伺器突破公司對埠5000/5001的封鎖Setup of GitLab Docker on Synology DSM關於gitlab的docker設定分享 今天要來談的是,Gitlab本身也要做一些設定,讓網頁轉導會正常一些。 關掉註冊服務 Admin Area --> Settings --> Sign-up restrictions --> 、 網頁轉導 Admin Area --> Settings --> Sign-in restrictions --> 與

Raspberry Pi的Kiosk模式

最近開始嘗試研究樹莓派(Raspberry Pi),買了一個Pi4,竟然不用花到兩張小朋友,就有了強大的計算能力,當然也不是白研究的,第一個任務就是希望用樹莓派取代用電腦來進行Kiosk的工作。 目前這台展示機(Kiosk)的功能很簡單,就是用瀏覽器全螢幕播放即可,先來算算看用樹莓派的效益有多好呢?最大效益應該就是在節省電費上吧。 節省電費的效益:電腦:300W/h*24h/1000*3元/度*365天=7884元/年樹莓派:15W/h*24h/1000*3元/度*365天=394.2元/年 哇塞這個效益也不錯拉,等於一年省下來的電費,可以在買兩個全配的樹莓派吧。 接下來是設定Kiosk的部份,首先要下載樹莓派的Imager,把作業系統映像到SD卡上。啟動Imager畫面如下: 另外一提,買到的樹莓派,可能無法開機,沒有任何畫面出來,這很有可能是板子上的EEPROM已經毀損了,可以先選擇,接著在選製作EEPROM boot recovery,用這個開機讀一下就好了,請參考以下兩張圖片。 如果沒有了EEPROM的問題後,就接著製作開機映像檔案燒進去SD卡中,然後開機進到畫面裡,重點開始拉,就是用終端機編寫以下檔案: sudo nano /etc/xdg/lxsession/LXDE-pi/autostart 在最後一行加入以下(已經排除更新顯示訊息的問題): # run kiock mode /usr/bin/chromium-browser --kiosk --disable-restore-session-state --disable-session-crashed-bubble --noerrordialogs --disable-infobars --no-default-browser-check --no-first-run --check-for-update-interval=1 --simulate-critical-update http://kiosk.com 然後接著要處理螢幕會自動休眠的問題,這個開啟裡的,把的關掉就可以,如下圖: 然後重開機,就可以自動放映囉。

反向代理伺服器

無論是正向代理或是反向代理伺服器,因為都有代理,其代理就是Proxy Server的概念。正向代理是正港的Proxy Server,幫你Cache網路上的資料,增加瀏覽的速度,而反向代理呢,就是把你的連線請求再轉接出去,常應用再外網轉街內網的某台伺服器(跟NAT的效果是一樣的)。 之前為了架設GitLab,Synology是用Docker的方式,雖然開了一個30000Port,但是大多的防火牆都只開放80與443,如何要能透過防火牆,這個時候就要借助反向代理的功能了。 GitLab架設請參考: https://mika.i234.me/wordpress/2020/05/18/%e5%bb%ba%e7%bd%aegitlab%e7%9c%9f%e7%b0%a1%e5%96%ae/ 反向代理設定請參考這篇: https://blog.ladsai.com/synology-%E5%88%A9%E7%94%A8%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86%E4%BC%BA%E5%99%A8%E7%AA%81%E7%A0%B4%E5%85%AC%E5%8F%B8%E5%B0%8D%E5%9F%A05000-5001%E7%9A%84%E5%B0%81%E9%8E%96.html 設定畫面如下:這樣就可以透過80port連線Gitlab了。

NLog再進階Archive File

今天再繼續談NLog,寫檔案的Log,會有一個問題,就是日子久了難免Log會越來越大,大到把硬碟塞爆,然後伺服器Error。 所以自動化清除Log是有必要的,一般保存3個月已經不錯了。NLog有這樣的功能,只要修改config檔案就能辦到,如下: <target xsi:type="File" name="f" fileName="${basedir}/App_Data/logs/logfile.log" layout="${longdate} ${uppercase:${level}} ${message}" archiveFileName="${basedir}/App_Data/Logs/archives/log.{#}.log" archiveNumbering="DateAndSequence" archiveDateFormat="yyyyMMdd" archiveEvery="Day" maxArchiveFiles="90" /> 這個範例表示的是,即時的Log寫在App_Data/logs/logfile.log裡,然後其他天打包的寫在App_Data/Logs/archives/下,並且用日期來編檔名,保留90天內的資料。 其他有關檔名的教學,請參考以下連結: https://github.com/NLog/NLog/wiki/FileTarget-Archive-Examples#archive-numbering-examples