2020-11-19

macos從El Capitain (10.11)升級到Mojave (10.14)

 用El Capitain撐了許久,不升級也不行了,一堆軟體或外掛套件的更新都要求要新一點的OS版本,像homebrew或VSCode一堆套件都要新的作業系統library才有辦法compile & install。

升級時注意事項:

1.先重置nvram跟smc再升級,不然很有可能升級過程中卡住,要是真的卡住就強制關機,再用command+r重裝。

2.重新安裝XCode及command line tools for xcode
https://developer.apple.com/download/more 下載即可,注意mojave支援的XCode最高版本為11.3.1,安裝Xcode前先把舊的Xcode刪掉再複製新的過去,不然會卡很久。

3.homebrew的話,先brew update-reset & brew update,重置repo資料庫,然後brew doctor看看有沒有什麼問題,有些已經不存在formula的可以 brew uninstall --force package-name & rm -rf /usr/local/Caskroom/package-name。

4.java的話,決定先移除oracle java,改安裝openjdk:

brew remove --ignore-dependencies java
brew remove --ignore-dependencies java8

sudo rm -fr /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
sudo rm -fr /Library/PreferencesPanes/JavaControlPanel.prefPane
sudo rm -fr ~/Library/Application\ Support/Java
sudo rm -rf /Library/Java/JavaVirtualMachines/jdk1.8_xxx.jdk

brew tap AdoptOpenJDK/openjdk
brew cask install adoptopenjdk/openjdk/adoptopenjdk8
brew cask install adoptopenjdk/openjdk/adoptopenjdk11

brew install jenv
echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(jenv init -)"' >> ~/.bash_profile
<重開command window>
jenv add /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
jenv add /Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home
jenv global 1.8 或 jenv global 11 設定其中一個預設java版本

ref:
https://www.java.com/zh-TW/download/help/mac_uninstall_java.html
https://www.jenv.be/
https://github.com/AdoptOpenJDK/homebrew-openjdk

2020-11-02

Ubuntu 18 + Nvidia 顯卡螢幕撕裂(screen tearing)問題

什麼叫screen tearing:




解決方法:

  1. 安裝nvidia-settings
    sudo apt-get install nvidia-settings

  2. 打開NVIDIA X Server Settings後,選擇左邊X Server Display Configuration/Advanced...,把Force Composition Pipeline或Force Full Composition Pipeline個別其中一個打勾試試

  3. 記得按Save to X Configuration File儲存設定到 /etc/X11/xorg.conf

  4. 選擇左邊nvidia-settings Configuration,按右邊Save Current Configuration儲存設定到 ~/.nvidia-settings-rc

如果是像在瀏覽器chrome上看影片的話,瀏覽器的硬體加速選項可能也要調整:
https://www.lifewire.com/hardware-acceleration-in-chrome-4125122


ref:
https://askubuntu.com/questions/1170247/how-do-i-solve-screen-tearing-on-ubuntu-18-04-with-nvidia

2020-05-01

Ubuntu上用Android手機作為Webcam


讓手機變webcam且支援跨平台/USB的目前找到這二套:

DroidCam: http://www.dev47apps.com/
Iriun WebCam: https://iriun.com/

因為我是要安裝在Ubuntu上,一開始是試iriun卻怎麼試也不成功,後來改用DroidCam就沒問題了。

安裝工具(Android Debug Bridge, gcc...等)
sudo apt-get install adb gcc make linux-headers-`uname -r`

安裝DroidCam:
wget https://www.dev47apps.com/files/linux/droidcam_latest.zip
unzip droidcam_latest.zip -d droidcam && cd droidcam
sudo ./install
lsmod | grep v4l2loopback_dc #檢查是否有掛上 v4l2loopback_dc 模組

(另外也有提供DKMS方式安裝,避免每次kernel更新後又要重新安裝droidcam client)

安裝webcam測試用GUI:
sudo apt-get install qv4l2

Android 5.0以上可以直接在Play Store安裝DroidCam
Android 4.x可以在這裡下載APK安裝。

手機安裝DroidCam後,記得在手機的「開發者人員選項」開啟「USB 偵錯模式」,
然後用USB連接手機跟電腦,再下指令看看找不找得到Android設備:
adb devices

如果出現 no permissions 之類的訊息,那麼就要加入udev rules了,讓一般使用者也能access到手機,先找出Android設備的id:
lsusb

找到手機的設備id為 18d1:4ee7:
Bus 001 Device 010: ID 18d1:4ee7 Google Inc.

新增udev rules:
sudo vi /lib/udev/rules.d/70-android.rules
=======
加入以下內容(注意依自已的設備id修改,如果有多台設備就多行):
SUBSYSTEM=="usb",ATTRS{idVendor}=="18d1",ATTRS{idProduct}=="4ee7",MODE="0666"
=======
然後重新載入udev rules:
sudo chmod 644 /lib/udev/rules.d/70-android.rules
sudo udevadm control --reload-rules
sudo udevadm trigger

重新插拔USB,再下 adb devices,確定可以找到裝置後,執行手機上的DroidCam,
再在電腦上執行 droidcam ,選擇USB並點擊Connect,
再執行 qv4l2,看看能不能看到手機上的視訊影像。

預設解析度是640x480,如果覺得解析度不夠高,也可以修改解析度(要先付費升級手機上的APP,否則即使電腦解析度調高也會像上了馬賽克),譬如先測看看720P:
sudo rmmod v4l2loopback_dc
sudo insmod /lib/modules/`uname -r`/kernel/drivers/media/video/v4l2loopback-dc.ko width=1280 height=720

如果確定修改解析度後顯示正常,可以直接修改 /etc/modprobe.d/droidcam.conf
這樣每次使用就會固定為修改後的解析度,
目前支援 640×480, 960×720, 1280×720 (720p), 1920×1080 (1080p).

要移除的話執行 sudo /opt/droidcam-uninstall 即可

ref:
http://www.dev47apps.com/droidcam/linuxx/

2020-04-29

安裝全字庫字型 & CNS11643 輸入法

安裝全字庫字型、cns11643 fcitx table:
sudo apt-get install fonts-cns11643-kai fonts-cns11643-sung fcitx-table-cns11643

TW-Kai-98_1.ttf         (第0/BMP字面)
TW-Kai-Ext-B-98_1.ttf   (第2字面)
TW-Kai-Plus-98_1.ttf    (第15字面)
TW-Sung-98_1.ttf        (第0/BMP字面)
TW-Sung-Ext-B-98_1.ttf  (第2字面)
TW-Sung-Plus-98_1.ttf   (第15字面)

(字型單獨下載:http://www.cns11643.gov.tw/AIDB/Open_Data.zip)

譬如要輸入「𪇅」這個字,查到CNS其碼表為11-446F:
https://www.cns11643.gov.tw/wordView.jsp?ID=738415

那麼就輸入「b446f」就能輸入「𪇅」這個字(16進位,a代表10,b代表11,以此類推)

另外像「󺞏」這個字要是無法在瀏覽器正常顯示,是因為瀏覽器(Chrome為例)不接受字碼在unicode第15字面的碼表(因為瀏覽器認為CJK字碼不應在私人造字區,只接受在BMP及第2字面的CJK中文):
https://www.cns11643.gov.tw/wordView.jsp?ID=739639

因此可以在瀏覽器的字型設字中,將「標準字型」設定為「全字庫宋體 Plus」或「全字庫楷體 Plus」,這樣瀏覽器就會第一個以該字型去尋找是否有對應字碼,但缺點是字形就是看起來不統一。

像WIN10的內建中文字型已有支援unicode第0面、第2面,除非罕見字不在其中,才需要去裝全字庫字型 (TW-Kai-Plus-98_1.ttf 或 TW-Sung-Plus-98_1.ttf )

ref:
https://zh.wikipedia.org/wiki/Unicode%E5%AD%97%E7%AC%A6%E5%B9%B3%E9%9D%A2%E6%98%A0%E5%B0%84
https://www.cns11643.gov.tw/downloadList.jsp?ID=1

2020-04-22

Ubuntu 安裝 Microsoft Teams

由於武漢肺炎疫情的關係,要是疫情爆發時可能需要用到視訊會議,因此先來裝好Teams熟悉一下功能。

Teams有提供各平台軟體,看起來應該是用Electron.js開發的,微軟也有提供PPA可以直接安裝Teams,不過Linux版的缺點就是會比Win或Mac的功能慢推出。

curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -

sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/ms-teams stable main" > /etc/apt/sources.list.d/teams.list'

sudo apt update
sudo apt install teams

ref:
https://docs.microsoft.com/en-us/microsoftteams/get-clients#linux

2020-04-04

UBUNTU將日曆第一天改為星期一

雖然台灣是以星期日為每週的第一天,但自已還是比較習慣把星期一當成第一天。

#sudo vi /usr/share/i18n/locales/zh_TW

找到 END LC_TIME
在上面加入一行:
first_weekday 2

#sudo locale-gen zh_TW.UTF-8 (或 zh_TW.utf8 ,可用locale -a指令查看)

重登入或開機, done.

2020-01-24

車美仕(CARMAX) 六合一AVX CD5D6-00905 P64T 圖資更新

老家VIOS 2011裡裝的車美仕六合一AVX影音導航車機,
主機型號是C05D6-00901,代宇(DAIWOO)電子代工(也就是閎奇企業),車美仕型號是P64T,官方售價$38000(這爛東西要快四萬…),
應該是有超過十年歷史的車機了,2011的車配了當時已超過三年以上的過時庫存機(那時早已有新機款取代),真的是欺負家裡老人不懂趁機銷庫存。
SD卡裡面的導航一開始是北宸圖資(Polnav),後來2016年回原廠不知怎的被換成了代宇的導航軟體(其實就是PAPAGO換個皮),用的是PAPAGO PureNavi 7&8的圖資,到PAPAGO的OBU下載可以找到最相近的是車美仕C05型號所提供的檔案,程式標明是PureNavi 8,執行檔為daiwoo.exe,不過不確定能不能直上更換(要試的話請先備份SD)。
原廠早已不提供這台的圖資更新,還記得上次2011年第一次幫這台車機更新圖資時,還掃出SD卡裡有病毒,買車機送病毒,果然有台廠風範。
而這台有多爛我想應該也不用我多介紹,台灣廠商大都只想賺輕鬆錢,沒幾個是真的想把產品認真做好的。




車美仕本身並不生產車機,而是到處找他人代工並貼牌,再讓和泰用洗腦話術搭配新車推銷裝機,讓人誤以為真的是TOYOTA原廠車機,盤子們就會傻傻的買單,現在更進化成了某些車型級別直接搭車美仕車機給你,不要還不行,這樣的變相強迫推銷真的可以嗎?代工廠出一台車機給車美仕成本可能不用一萬,再轉銷和泰、轉賣消費者就變三四五萬,錢這麼好賺當然要狠狠的賺。
只是很神奇的,其出品的車機從開始到現在2020,經過了十幾年,
不分代工廠不分機種,在網路上的口碑是公認的爛,要是車機出問題回原廠又處理不了的時候,他們就會開始推給車美仕,變得一副跟和泰沒關係似的,而和泰是跟車美仕進貨再賣給消費者的,當然是脫不了干系。反正和泰的爛車配爛車機,我是覺得也不意外。

不過近年來改由Garmin代工車機,品質似乎有好了一點,
但還是水準之下,除了Garmin導航還不錯用之外,系統整合一樣做得不是很好(台廠通病,許多都不重視系統整合),會讓人懷疑這真的是Garmin做的東西嗎?(其實Garmin近年來的導航機品質我也覺得是每況越下...回不去了)
還是說只要掛上車美仕這品牌東西就會變得槽榚呢?不得而知…去年底的新聞還傳出要成立和泰、車美仕、GARMIN的合資公司,到底Garmin+Carmax會變成Garmax或Carmin呢 XD?只是多成立個中間公司也不會讓車機的品質變好,只會讓東西多過一手、多抽一次油水而已,到消費者手中可能還會變得更貴(反正我是不會買...家裡老人不懂當初就被洗腦了)。
想起以前的Garmin-ASUS,一個當初Garmin被華碩拖累所產生的爛貨品牌,我說Garmin你要找合作對象好歹也找個專業系統整合廠好嗎,華碩糟,車美仕極可能會更槽…。

更新這台的圖資很簡單,抓下PureNavi 7 車機專用圖檔(obu_x5_map開頭),並解壓縮(2020Q1圖資):
http://dl.papagoinc.com/download/Brand/__MAP__/X5/obu_x5_map_20q101v1.0.part1.rar
http://dl.papagoinc.com/download/Brand/__MAP__/X5/obu_x5_map_20q101v1.0.part2.rar
http://dl.papagoinc.com/download/Brand/__MAP__/X5/obu_x5_map_20q101v1.0.part3.rar

檔名中的「20q101v1.0」,20代表2020年,q1代表第一季,01代表圖資釋出月份(所以通常為q101, q204, q307, q410),v1.0代表版本。
各圖資編號對應版本如下:
X3 --> PureNavi 6
X5 --> PureNavi 7,8,
X8 --> PureNavi 10
S1 --> PureNavi S1

例如要下載PureNavi 10 車機圖檔,就改為下列網址:
http://dl.papagoinc.com/download/Brand/__MAP__/X8/obu_x8_map_20q101v1.0.part1.rar
(以下略)

解開壓縮檔,覆蓋SD卡內的DAIWOO\Maps及DAIWOO\TSTtab這二個資料夾(最好先備份一下SD卡內的東西),也就是壓縮檔裡除了TSTtab要對應覆蓋SD卡的DAIWOO\TSTtab資料夾以外,其它都是替換掉Maps資料夾內的檔案。

也可順便修改DAIWOO\Setting\DrawInfoMapCfg.ini
將#[MAPSPEED]及#[LIMITSPEED]註解拿掉,
可顯示道路速限及當前速度。

然後車機進導航->設定->檢視->版本,看一下圖資是不是顯示「台灣地圖-20Q101v1.0」。

2020-01-22

Garmin 2565RT更新地圖

這台garmin 2565RT也已經三年沒有更新地圖了,官方也只提供到2017的地圖,只能手動更新。

下載了TWCN202010 (2020年第一季)的地圖包並解壓縮後,地圖的部份只需要更新*.IMG及POI資料夾(含測速照相點)、JCV(路口實景圖)內的東西即可,其它檔案「不需要也不可以」去覆寫掉,更新前也最好整個系統先備份。

將POI資料夾及*.IMG檔案覆寫到(假設是G:) G:\POI 及 G:\.SYSTEM (隱藏資料夾)、G:\.SYSTEM\JCV即可。

只是我可能太久沒有更新,已經忘了只需要複製地圖檔跟地標檔,事前也沒有備份,頭昏昏腦頓頓的狀況下,不小心把其它不需要複製的東西給覆蓋到.system資料夾內了...重開機後的下場就是沒有了中文(因蓋到ExtData資料夾),語音命令也無法使用(因蓋到ASR資料夾)…慘!
https://www.mobile01.com/topicdetail.php?f=228&t=5230810&p=7&p=7#65497658

因此就要想辦法救回來啊!首先我先嘗試了清機台重置的方法:
https://www.mobile01.com/topicdetail.php?f=228&t=2823652

開機後按 1.進入觀看地圖=>2.進入速度=>3.進入速度旅程畫面 長按約10秒 速度(位置半弧形) 會跳出畫面=>選重置=>確定

嗯,重置完第一次開機可以選英文了,不過還是沒中文可選…再來到官網找軟體更新程式:
https://my.garmin.com.tw/myGarmin/downloadCenter/productDetail/010-01008-01

更新完再重置,無效。接下來改使用garmin express程式來更新看看:
https://www.garmin.com/en-US/software/express/

在偵測更新時,除了地圖不要去更新以外(因為程式提供的也只是舊地圖),其它的都給它更新。接下來最重要的,選擇「工具與內容/公用程式」裡的「語言檔案」,選擇「簡體中文」,這樣繁體跟簡體中文就會都回來了!(要到設定/語言裡去設定),另外「其他檔案」的選項,除了車子圖示(Vehicle)的部份也可以都給它更新一下!

後來又發現有人備份了2565T的系統檔案,看起來2555/2565T/2565RT的系統檔案應該是一樣的:
https://drive.google.com/open?id=1s2DTnqg33R4xO323mWq58ja1fzX535ci
下載後,把ASR(語音辨識)資料夾給替換掉,語音辨識就正常了,後來乾脆把被覆蓋掉的部份(除了POI跟JCV資料夾)都給它還原回來。

不過更新地圖檔的gmaprom1.img(門牌地址)後,語音辨識指令有「搜尋」的部份會失效,解法是蓋回舊的gmaprom1.img,不過反正我用手寫居多,很少用語音指令,對我來說圖資正確比較重要。

詳細更新可參考這位佛心大大的步驟: