有張華碩Gefroce 210(EN210 SILENT/DI/1GD3/V2(LP))裝在HP的2K顯示器上,因為解析度預設沒有2560x1440可選,但上華碩官網看最高解析度卻是有的:
D-Sub 最高解析度 : 2048x1536
DVI 最高解析度 : 2560x1600
Nvidia官網也是有寫:
Maximum Digital Resolution 2560x1600
Maximum VGA Resolution 2048x1536
上了一些論壇說要DVI才行,但實際上也是沒出現2K選項,後來發現其實不是DVI或HDMI或線材的問題,而是必須用自訂解析度的方式解決:
1.安裝Nvidia驅動,打開Nvidia控制面版,選擇解析度 --> 自訂
2.輸入2560x1440,「標準」選項(很重要!)請選擇「CVT」(有二個,我是選CVT reduced blank),不要用預設的自動
3.測試成功後,儲存,再選擇2560x1440解析度
還好,不然差點就要買新顯卡了...
ref:
https://www.notebookcheck.net/2560x1440-or-2560x1600-via-HDMI.92840.0.html
2019-05-13
2019-05-08
Linux Mint (Ubuntu) 使用 NUT (Network UPS Tools)
因為舊的台達水瓶座UPS因為沒有Linux上可支援的軟體,因此改採買了一台科風WAR-1000AP(更新:用了二年多同時採購的二台同型號UPS板子都壞了,強列不建議購買),
不過科風的Linux軟體裝上去發現爛得可以(Linux UPSMON PRO),看起來用java7寫的,體積大不說,不但抓不到usb設備,一些test指令下了還會噴錯誤....因此用Linux作業系統的就不建議買科風了,當初是看它有支援Linux才買的,沒想到Linux軟體寫得這麼爛(科風工程師自已都沒先好好測過嗎?),早知就買台達的新型號UPS。
不過買都買了,要是沒法解決就要換貨了,還好看到NUT(Network UPS Tools)的相容列表對科風的支援好像還不錯:
因此就改用NUT來監視UPS,不過不得不說這軟體設定有夠囉嗦的...
2019-01-28
macOS 使用brew安裝 java8
以前可以從brew直接指定安裝jdk8:
brew cask install java8
不過目前沒法直接指定jdk版本,要安裝jdk8變這樣:
brew tap caskroom/versions
brew cask install java8
看一下目前有提供的java(或jdk):
brew search java
brew search jdk
目前都預設安裝jdk 11了:
brew cask info java
brew cask info adoptopenjdk
brew cask info oracle-jdk
brew cask install java8
不過目前沒法直接指定jdk版本,要安裝jdk8變這樣:
brew tap caskroom/versions
brew cask install java8
看一下目前有提供的java(或jdk):
brew search java
brew search jdk
目前都預設安裝jdk 11了:
brew cask info java
brew cask info adoptopenjdk
brew cask info oracle-jdk
2019-01-21
Linux Mint 建立 L2TP VPN CLIENT
由於Linux Mint預設並沒有L2TP VPN CLIENT,因此需手動新增必要的 package才有辦法達成,以下以Linux Mint 19連線QNAP的L2TP VPN SERVER為例:
ref:
https://community.ubnt.com/t5/UniFi-Routing-Switching/L2TP-VPN-on-Ubuntu-18-04-client/td-p/2492451
https://wiki.strongswan.org/projects/strongswan/wiki/IKEv2CipherSuites
- 二選一,可使用strongswan或libreswan
使用strongswan(建議,可支援一些舊加密協定):
sudo apt-get install network-manager-l2tp-gnome network-manager-strongswan libstrongswan-standard-plugins libstrongswan-extra-plugins
使用libreswan:
sudo apt install network-manager-l2tp-gnome libreswan - 重開機,於「網路連線」新增L2TP VPN設定
- 輸入gateway及帳號密碼後,還需要依照以下圖示設定:
其中Phase 1 & phase 2 Algorithms依照安裝的為strongswan或libreswan有所不同:
strongswan :
Phase1: aes256-sha1-modp1024,aes128-sha1-modp2048,aes128-sha1-modp1536!
Phase 2 : aes256-sha1,aes128-sha1!
libreswan:
Phase1: aes256-sha1-modp1024,aes128-sha1-modp2048,aes128-sha1-modp1536
Phase 2 : aes256-sha1,aes128-sha1
(3des加密目前已證實有安全性問題並被廢棄支援,大多改採用aes128或aes256)
QNAP或SYNOLOGY的L2TP SERVER套件通常可設定為PAP或MS-CHAPv2驗證,一般是選MS-CHAPv2較安全 - VPN開始連線前,可使用 sudo journalctl -f 觀看log訊息以方便除錯,連線成功後可用ipsec statusall看連線所使用的方式及資訊,像連線到qnap l2tp,會發現是使用IKEv1, aes256-sha1-modp102去連線。
- 若要增加 Cisco VPN,可再安裝 network-manager-vpnc-gnome
ref:
https://community.ubnt.com/t5/UniFi-Routing-Switching/L2TP-VPN-on-Ubuntu-18-04-client/td-p/2492451
https://wiki.strongswan.org/projects/strongswan/wiki/IKEv2CipherSuites
標籤:
ipsec,
l2tp,
linux mint,
vpn
2019-01-18
macbook 藍芽作動不正常問題排除
當macbook的藍芽符號出現灰色,或者無法配對、無法找到裝置…等等奇怪的問題,可以先從軟體方面先去解決看看:
- 刪除 /Library/Preferences/com.apple.Bluetooth.plist 並重開機
- 重置NVRAM
- 重置SMC
- 開機時按住D或Option + D,執行系統檢測,看是硬體或軟體問題
- 若檢測出是軟體問題,開機時按住CMD+R,重新安裝系統(安裝完使用者資料及程式會保留,不用擔心)
若是硬體問題,那麼可能就得更換藍芽零件,淘寶賣價大約是台幣三四百元。
拆的時候請使用尺寸適合的十字鏍絲起子,以免造成鏍絲崩牙而無法拆裝。
安裝完後若仍無法作動(前提是更換上的藍芽零件沒有問題),那麼重複前面123的步驟應該就可正常使用。
2018-07-17
python在virtual environment (venv) 環境時,vscode pylint會報import ... not found
在python的virtual environment工作時,vscode的pylint會說找不到套件,
因此我們要vscode的「Folder Settings」去指定 venv 下的pylint路徑,而不是global的pylint,
順便把python路徑也一起修改:
(Windows)
"python.pythonPath": "${workspaceFolder}/Scripts/python.exe"
"python.linting.pylintPath": "${workspaceFolder}/Scripts/pylint.exe"
(Linux)
"python.pythonPath": "${workspaceFolder}/bin/python"
"python.linting.pylintPath": "${workspaceFolder}/bin/pylint"
因外由於 pylint 對 python 3.7的支援性不太好(沒事就在噴runtime error錯誤),
我們可以安裝 preview version的pylint來解決:
pip install pylint astroid --pre -U
或改用flake8也行:
pip install flake8
用flake8記得修改vscode設定:
"python.linting.flake8Enabled": true
"python.linting.pylintEnabled": false
"files.trimTrailingWhitespace": true
因此我們要vscode的「Folder Settings」去指定 venv 下的pylint路徑,而不是global的pylint,
順便把python路徑也一起修改:
(Windows)
"python.pythonPath": "${workspaceFolder}/Scripts/python.exe"
"python.linting.pylintPath": "${workspaceFolder}/Scripts/pylint.exe"
(Linux)
"python.pythonPath": "${workspaceFolder}/bin/python"
"python.linting.pylintPath": "${workspaceFolder}/bin/pylint"
因外由於 pylint 對 python 3.7的支援性不太好(沒事就在噴runtime error錯誤),
我們可以安裝 preview version的pylint來解決:
pip install pylint astroid --pre -U
或改用flake8也行:
pip install flake8
用flake8記得修改vscode設定:
"python.linting.flake8Enabled": true
"python.linting.pylintEnabled": false
"files.trimTrailingWhitespace": true
2018-07-16
Python CGI on Apache & FASTCGI on NginX
在Apache2上修改http.conf,讓Apache能以CGI執行python:
==============================================
...
LoadModule cgid_module modules/mod_cgid.so
...
<Directory "/opt/bitnami/apache2/htdocs">
...
Options FollowSymLinks MultiViews +ExecCGI
AddHandler cgi-script .py
...
</Directory>
==========================================================
若是使用bitnami LAMP stack,需再同時修改 conf/bitnami/bitnami.conf,修改設定同上
==========================================================
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
==========================================================
在NginX上修改nginx.conf,加入以下片段,以fast-cgi執行python:
==========================================================
location ~ \.py$ {
root html;
fastcgi_read_timeout 300;
#fastcgi_pass 127.0.0.1:10240;
fastcgi_pass unix:/tmp/python-fcgi.sock; #使用.sock監聽
fastcgi_index index.py;
fastcgi_param SCRIPT_FILENAME $request_filename;
include fastcgi_params;
}
==========================================================
若是使用bitnami,可以新建一個 conf/bitnami/pythonfastcgi.conf,加入如上設定,並修改 conf/bitnami.conf,加入:
include "/Applications/nginxstack-1.10.1-2/nginx/conf/bitnami/pythonfastcgi.conf";
==========================================================
然後python需安裝flup,用來當做fastcgi的gateway(即符合fastcgi協定的SERVER,這樣才能溝通):
pip3 install flup
然後寫一支 wsgi.py,並啟動(以/tmp/python-fcgi.sock監聽):
==========================================================
#!/usr/local/bin/python3
#coding=utf-8
from html import escape
import sys, os
from flup.server.fcgi import WSGIServer
def app(environ, start_response):
start_response('200 OK', [('Content-Type', 'text/html')])
yield '<h1>FastCGI Environment</h1>'
yield '<table>'
for k, v in sorted(environ.items()):
yield '<tr><th>%s</th><td>%s</td></tr>' % (escape(k), escape(v))
yield '</table>'
if __name__ == '__main__':
# WSGIServer(app, bindAddress=('127.0.0.1',10240)).run()
WSGIServer(app, bindAddress='/tmp/python-fcgi.sock').run()
==========================================================
修改為執行檔並執行,再執行nginx:
chmod +x wsgi.py
./wsgi.py
systemctl start nginx
uWSGI是一個軟體專案名稱,而flup本身就是一個架構在uWSGI專案之上的server,同時支援了:
wsgi-->可支援fastcgi
uwsgi-->python web server protocol
http協定
等,因此Nginx也可以改用uwsgi(設定uwsgi_pass)去執行,可參考下面最後一個鏈結
ref:
https://httpd.apache.org/mod_fcgid/mod/mod_fcgid.html
https://httpd.apache.org/docs/2.4/howto/cgi.html
http://uwsgi-docs.readthedocs.io/en/latest/WebServers.html
https://segmentfault.com/a/1190000003993249
https://www.digitalocean.com/community/tutorials/how-to-serve-flask-applications-with-uwsgi-and-nginx-on-ubuntu-14-04
==============================================
...
LoadModule cgid_module modules/mod_cgid.so
...
<Directory "/opt/bitnami/apache2/htdocs">
...
Options FollowSymLinks MultiViews +ExecCGI
AddHandler cgi-script .py
...
</Directory>
==========================================================
若是使用bitnami LAMP stack,需再同時修改 conf/bitnami/bitnami.conf,修改設定同上
==========================================================
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
==========================================================
在NginX上修改nginx.conf,加入以下片段,以fast-cgi執行python:
==========================================================
location ~ \.py$ {
root html;
fastcgi_read_timeout 300;
#fastcgi_pass 127.0.0.1:10240;
fastcgi_pass unix:/tmp/python-fcgi.sock; #使用.sock監聽
fastcgi_index index.py;
fastcgi_param SCRIPT_FILENAME $request_filename;
include fastcgi_params;
}
==========================================================
若是使用bitnami,可以新建一個 conf/bitnami/pythonfastcgi.conf,加入如上設定,並修改 conf/bitnami.conf,加入:
include "/Applications/nginxstack-1.10.1-2/nginx/conf/bitnami/pythonfastcgi.conf";
==========================================================
然後python需安裝flup,用來當做fastcgi的gateway(即符合fastcgi協定的SERVER,這樣才能溝通):
pip3 install flup
然後寫一支 wsgi.py,並啟動(以/tmp/python-fcgi.sock監聽):
==========================================================
#!/usr/local/bin/python3
#coding=utf-8
from html import escape
import sys, os
from flup.server.fcgi import WSGIServer
def app(environ, start_response):
start_response('200 OK', [('Content-Type', 'text/html')])
yield '<h1>FastCGI Environment</h1>'
yield '<table>'
for k, v in sorted(environ.items()):
yield '<tr><th>%s</th><td>%s</td></tr>' % (escape(k), escape(v))
yield '</table>'
if __name__ == '__main__':
# WSGIServer(app, bindAddress=('127.0.0.1',10240)).run()
WSGIServer(app, bindAddress='/tmp/python-fcgi.sock').run()
==========================================================
修改為執行檔並執行,再執行nginx:
chmod +x wsgi.py
./wsgi.py
systemctl start nginx
uWSGI是一個軟體專案名稱,而flup本身就是一個架構在uWSGI專案之上的server,同時支援了:
wsgi-->可支援fastcgi
uwsgi-->python web server protocol
http協定
等,因此Nginx也可以改用uwsgi(設定uwsgi_pass)去執行,可參考下面最後一個鏈結
ref:
https://httpd.apache.org/mod_fcgid/mod/mod_fcgid.html
https://httpd.apache.org/docs/2.4/howto/cgi.html
http://uwsgi-docs.readthedocs.io/en/latest/WebServers.html
https://segmentfault.com/a/1190000003993249
https://www.digitalocean.com/community/tutorials/how-to-serve-flask-applications-with-uwsgi-and-nginx-on-ubuntu-14-04
訂閱:
文章 (Atom)