問題描述:macOS Mojave 安裝軟體無法在系統偏好設定/隱私權/輔助使用 新增或勾選項目。輔助使用的清單應該會有許多項目,但是會一個都沒有,而且也無法以[+]新增。
英文描述:macOS Mojave - System Preference, Security & Privacy, Accessibility - Not Working/Empty
解決方式:
這個問題,在中文世界裡還沒有找到有說明,所以把我在英文版的資料重點整理如下。主要原因是因為安裝了防毒軟體,例如:ESET 或 Symantec...等。
隱私權/輔助使用的設定檔案是,
/Library/Application\ Support/com.apple.TCC/TCC.db
但是被防毒軟體防護無法變更設定,所以要把這個檔案列在防毒軟體的排除清單。
再重新開機一次,就可以變更隱私權/輔助使用的設定。
2019年6月22日 星期六
2019年4月21日 星期日
macOSX 10.14 Mojave 無法安裝inkscape問題的解決紀錄
今天為了安裝Inkscape在新版的macOS 10.14系統之上,發生了一些問題。下面是解決安裝問題的過程摘要。
$ sudo port install inkscape
Warning: MacPorts is configured to use an unsigned source for the ports tree. Please edit sources.conf and change 'rsync://rsync.macports.org/release/ports/' to 'rsync://rsync.macports.org/release/tarballs/ports.tar'.
Warning: MacPorts is configured to use an unsigned source for selfupdate. Please edit macports.conf and change the rsync_dir setting to match macports.conf.default.
---> Computing dependencies for inkscape
..
.
.
popt
potrace
py27-cython
py27-lxml
py27-nose
py27-numpy
texinfo
urw-fonts
webp
xar
Continue? [Y/n]:
---> Configuring ghostscript
Error: Failed to configure ghostscript: autoreconf failure: command execution failed
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_print_ghostscript/ghostscript/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets to report a bug.
Error: Processing of port inkscape failed
xcode-select --install
再來確認是否有確認過xcode的license
sudo xcodebuild -license
一直出現錯誤情況,先針對ghostscript的安裝,詳細觀察安裝過程:
port clean ghostscript port -d -v install ghostscript發現問題出在gmp的安裝,再進一步追踪安裝gmp,發現要先安裝m4,才順利安裝gmp。
sudo port install m4 sudo port load dbus sudo port clean gmp sudo port install gmp sudo port -f activate gmp最後才順利安裝inkscape。
2018年3月6日 星期二
關於及arduino的一些瑣碎小事
- 使用arduino IDE的範例程式Fade, 使用D13作為LED。
- arduino nano只會顯示亮暗, 沒有漸進變化過程
- arduino micro能以on-board LED顯示漸亮漸暗
- 原因分析:
nano 的 D13 不支援PWM
micro 的 D13支援PWM - arduino接上ubs電源時, on-board LED 一直快速閃爍, 線路連接的電子零件沒有通電運作
- 這是透過USB供電時, 短路防護的信號
- 但要留意, 若是透過RAW供電時, 則沒有短路防護。
- 使用Serial.printf("%4.2f", floatVar) 得到結果為 ?
- 原因分析:
arduino IDE只支援C語法, 但是不支援float的格式語法, 必須另外寫程式來格式化輸出 - 我的解決方法: (可以放在setup段來測試)
Serial.begin(9600);
//sprintf format test loop
float celsius=-55.25;
float fahrenheit;
while(celsius<=155){
fahrenheit = celsius * 1.8 + 32.0;
Serial.print(celsius);Serial.print(" ");
Serial.print(fahrenheit);Serial.print(" ");
char *numC=(char *)"000.00C ";
char *numF=(char *)"000.00F ";
//arduino的printf format不支援float, double的格式, ex: %4.2f , 輸出會出現?
//Serial.printf("%4.2fC %4.2fF", celsius, fahrenheit);
sprintf(numC, "%4i.%02i", int(celsius), int(abs(celsius-int(celsius))*100));
sprintf(numF, "%4i.%02i", int(fahrenheit), int(abs(fahrenheit-int(fahrenheit))*100));
Serial.print(numC);Serial.print(" ");Serial.print(numF);Serial.println(" ");
celsius+=3.97;
}
- 在LCD上, 以單一字元顯示 ℃ 或 ℉
- 定義℃ 或℉ 符號
- 在LCD上印出自定符號
- //在程式宣告段
byte degC[8] = {
B01000,
B10100,
B01000,
B00011,
B00100,
B00100,
B00011,
};
byte degF[8] = {
B01000,
B10100,
B01000,
B00111,
B00100,
B00111,
B00100,
};
//在setup()段,
lcd.createChar(0, degC);
lcd.createChar(1, degF);
//要印出字元時
lcd.write(byte(0)); //印出 ℃
lcd.write(byte(1)); //印出 ℉
2017年6月13日 星期二
GPS以uart與樹莓派Raspberry Pi 3連接使用紀錄
使用材料:
樹莓派的作業系統, 我是以AiGO 2017 v1為架構, 再新增軟體套件
$ sudo apt-get update && sudo apt-get upgrade -y
$ sudo apt-get install build-essential gpsd gpsd-clients python-gps joe
$ sudo reboot
其中joe是我個人在linux系統下慣用的文字編輯器, 作業系統內建有nano 或 vi可以使用。
針對GPS使用RasPi3的UART連線, 作業系統要新增設定/boot/config.txt,
$ sudo joe /boot/config.txt
在文件的最後一行加入
enable_uart=1
存檔後, 重新開機
$ sudo reboot
在RaspPi3的系統中, 是以/dev/ttyAMA0與 UART0連線的, 所以啟動gpsd時, 要指向這個裝置
$ sudo gpsd /dev/ttyAMA0 -n -F /var/run/gpsd.sock
$ cgps -s
參考網頁都是像上面寫的指令一樣, 但是我一直無法在cgps中看到gps傳資料進來, 因此我執行cgps時, 不加-s參數, 可以監視GPS模組的訊息是否傳入。
後來發來gpsd有一支程式gpscat, 也可以直接讀取gps模組傳入的訊息, 使用方式如下:
$ gpscat -s 57600 /dev/ttyAMA0
其中 -s 57600是傳輸速率(baud rate), 我試過57600 bps是這款gps模組的上限。
令我疑惑的是, 若我沒有執行 "gpscat -s 57600 /dev/ttyAMA0" 則 cgps 無法正常讀取GPS模組的訊息, 因此我推論是沒有設定 /dev/ttyAMA0 的傳輸速率所致。
最後在gpsd的faq網頁中, 查到可以使用 "stty speed 57600 < /dev/ttyAMA0" 來設定傳輸速率。其餘的執行程序如下:
sudo systemctl stop gpsd.socket
sudo systemctl disable gpsd.socket
sudo systemctl stop serial-getty@ttyAMA0.service
sudo systemctl disable serial-getty@ttyAMA0.service
sudo killall gpsd
stty speed 57600 < /dev/ttyAMA0
sudo gpsd -n /dev/ttyAMA0 -F /var/run/gpsd.sock
cgps
終於可以從 cgps 讀到GPS模組的定位資訊。
lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqklqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk
x Time: 2017-06-12T15:52:14.000Z xxPRN: Elev: Azim: SNR: Used: x
x Latitude: 24.XXXXXX N xx 193 66 048 26 Y x
x Longitude: 120.XXXXXX E xx 15 63 277 00 N x
x Altitude: 167.7 ft xx 13 62 019 33 Y x
x Speed: 0.5 mph xx 129 54 138 26 N x
x Heading: 192.6 deg (true) xx 20 50 343 23 N x
x Climb: 0.0 ft/min xx 5 40 056 39 Y x
x Status: 3D FIX (266 secs) xx 2 39 141 24 Y x
x Longitude Err: +/- 46 ft xx 29 36 254 19 Y x
x Latitude Err: +/- 67 ft xx 24 27 182 00 N x
x Altitude Err: +/- 73 ft xx 21 17 320 15 N x
x Course Err: n/a xx 30 10 044 00 N x
x Speed Err: +/- 92 mph xx 18 03 290 00 N x
x Time offset: -872.718 xx x
x Grid Square: PL04gc xx x
mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqjmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj
參考資料
- 樹莓派Raspberry Pi 3 (以下簡稱為RasPi3)
- GPS Receiver - LS20031 5Hz (66 Channel),
https://www.sparkfun.com/products/8975 - 預先焊接針腳, 使用4條雙母杜邦線與樹莓派連接
可參閱SparkFun網頁上的Connection Tutorial - 留意GPS模組使用電壓3.3V
- GPS模組的TX連接到RasPi3的GPIO Pin10(RXD)、
RX連接到RasPi3的GPIO Pin8(TXD)。
詳細的RasPi3 GPIO針腳定義請參閱: https://pinout.xyz/#
樹莓派的作業系統, 我是以AiGO 2017 v1為架構, 再新增軟體套件
$ sudo apt-get update && sudo apt-get upgrade -y
$ sudo apt-get install build-essential gpsd gpsd-clients python-gps joe
$ sudo reboot
其中joe是我個人在linux系統下慣用的文字編輯器, 作業系統內建有nano 或 vi可以使用。
針對GPS使用RasPi3的UART連線, 作業系統要新增設定/boot/config.txt,
$ sudo joe /boot/config.txt
在文件的最後一行加入
enable_uart=1
存檔後, 重新開機
$ sudo reboot
在RaspPi3的系統中, 是以/dev/ttyAMA0與 UART0連線的, 所以啟動gpsd時, 要指向這個裝置
$ sudo gpsd /dev/ttyAMA0 -n -F /var/run/gpsd.sock
$ cgps -s
參考網頁都是像上面寫的指令一樣, 但是我一直無法在cgps中看到gps傳資料進來, 因此我執行cgps時, 不加-s參數, 可以監視GPS模組的訊息是否傳入。
後來發來gpsd有一支程式gpscat, 也可以直接讀取gps模組傳入的訊息, 使用方式如下:
$ gpscat -s 57600 /dev/ttyAMA0
其中 -s 57600是傳輸速率(baud rate), 我試過57600 bps是這款gps模組的上限。
令我疑惑的是, 若我沒有執行 "gpscat -s 57600 /dev/ttyAMA0" 則 cgps 無法正常讀取GPS模組的訊息, 因此我推論是沒有設定 /dev/ttyAMA0 的傳輸速率所致。
最後在gpsd的faq網頁中, 查到可以使用 "stty speed 57600 < /dev/ttyAMA0" 來設定傳輸速率。其餘的執行程序如下:
sudo systemctl stop gpsd.socket
sudo systemctl disable gpsd.socket
sudo systemctl stop serial-getty@ttyAMA0.service
sudo systemctl disable serial-getty@ttyAMA0.service
sudo killall gpsd
stty speed 57600 < /dev/ttyAMA0
sudo gpsd -n /dev/ttyAMA0 -F /var/run/gpsd.sock
cgps
終於可以從 cgps 讀到GPS模組的定位資訊。
lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqklqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk
x Time: 2017-06-12T15:52:14.000Z xxPRN: Elev: Azim: SNR: Used: x
x Latitude: 24.XXXXXX N xx 193 66 048 26 Y x
x Longitude: 120.XXXXXX E xx 15 63 277 00 N x
x Altitude: 167.7 ft xx 13 62 019 33 Y x
x Speed: 0.5 mph xx 129 54 138 26 N x
x Heading: 192.6 deg (true) xx 20 50 343 23 N x
x Climb: 0.0 ft/min xx 5 40 056 39 Y x
x Status: 3D FIX (266 secs) xx 2 39 141 24 Y x
x Longitude Err: +/- 46 ft xx 29 36 254 19 Y x
x Latitude Err: +/- 67 ft xx 24 27 182 00 N x
x Altitude Err: +/- 73 ft xx 21 17 320 15 N x
x Course Err: n/a xx 30 10 044 00 N x
x Speed Err: +/- 92 mph xx 18 03 290 00 N x
x Time offset: -872.718 xx x
x Grid Square: PL04gc xx x
mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqjmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj
參考資料
- https://medium.com/@phutidus/%E7%94%A8-raspberry-pi-gps-%E6%A8%A1%E7%B5%84%E5%BB%BA%E7%AB%8B-stratum-1-%E7%9A%84-ntp-server-cb1b501a5f91
- http://www.catb.org/gpsd/faq.html
- http://spellfoundry.com/2016/05/29/configuring-gpio-serial-port-raspbian-jessie-including-pi-3
- https://learn.adafruit.com/adafruit-ultimate-gps-on-the-raspberry-pi/using-uart-instead-of-usb
2015年11月13日 星期五
幫Time Capsule (Apple)更換新硬碟
幫Time Capsule (Apple)更換新硬碟
上一回幫自己的Time Capsule更換新硬碟, 好像沒留下任何記錄, 昨天第2次更換Time Capsule的硬碟, 把過程紀下來。以下步驟只是個人的過程紀錄, 僅供網友們參考, 實際更換步驟, 請自行斟酌, 恕不負任何責任。
上一回幫自己的Time Capsule更換新硬碟, 好像沒留下任何記錄, 昨天第2次更換Time Capsule的硬碟, 把過程紀下來。以下步驟只是個人的過程紀錄, 僅供網友們參考, 實際更換步驟, 請自行斟酌, 恕不負任何責任。
- 先將Time Capsule的設定備份到電腦端, 以免更換後設定被清除掉...
- 關閉所有電腦端的Time Machine的還原機制。
- 關閉Time Capsule電源, 其實就只是移除電源線和網路線。
- 拆開Time Capsule, 取出舊硬碟, 更換新硬碟。(請自行參閱:Apple Time Capsule Model A1302 Hard Drive Replacement- https://www.ifixit.com/Guide/Apple+Time+Capsule+Model+A1302+Hard+Drive+Replacement/2750)
- Time Capsule重新開機, 由AirPort工具程式進入Time Capsule系統, 將新硬碟清除(重新格式化), 設定好磁碟名稱和檔案共享。
- Time Capsule會將硬碟分割成3個磁區: APconfig、APswap(前2個為系統內部用的, 不用理會)和資料分割區(名稱是在Time Capsule磁碟中設定的)。我們只需要將資料分割區, 由舊硬碟複製到新硬碟。
- 將舊硬碟複製到新硬碟中, 有兩種方法:
- 將舊硬碟以外接盒與電腦連接, 透過網路(會很慢), 將檔案複製到Time Capsule的新硬碟中。我這次是因為手上沒有可以讀取4TB硬碟的外接盒或外接線, 因此用這個方法, 將近2TB的資料透過Giga bits網路傳輸花了1天多的時間複製資料。
- 我想還有另外一個更快的方法: 關閉Time Capsule電源, 取出新硬碟, 將這兩顆硬碟分別接上外接盒。舊硬碟有3個分割區, 我們只需要將資料分割區的所有檔案, 由舊硬碟複製到新硬碟。
- 但上述的2個方法, 無論是那一種, 若硬碟中有Time Machine的電腦備份檔案, 則須留意複製的方法, 請參閱:ime Machine:如何將備份檔從目前的備份磁碟傳送到新的備份磁碟- https://support.apple.com/zh-tw/HT202380
訂閱:
文章 (Atom)