2026年3月28日 星期六

解決 Asus A550V 螢幕亮度不能在 Fedora+MATE 中調整的問題

最近幾次升級後筆電的螢幕亮度有些過亮、非常剌眼,覺得像在看燈泡。查看設定如下: 螢幕的設定亮度是 35% 並沒有改變,可能是設定指令沒有作用。 當「圖形化介面」操作不能作用時,就用「命令列介面」設定看看。

2025年5月1日 星期四

使用 Systemd 啟動 VNC server 的設定過程

之前在啟動 VNC 伺服器時,多使用『CLI, 命令列介面』的方式來啟動(參考:開啟個人化的 VNC 服務,供「遠端桌面」連線),在新版的作業系統開始使用 Systemd 後,TigerVNC 也逐漸轉移至 Systemd。不過,在過渡期間是兩者皆可使用,各有其優劣點:
啟動方式優點缺點
命令列介面, CLI1. 未啟動時,不佔用系統資源。
2. 使用者可自行啟動。
每次使用前需要確認已啟動,
若常用它的話有些不方便。
Systemd開機時,即自動啟動。1. 啟動後,即佔用系統資源。
2. 多個使用者時,會佔用可觀資源。
在過渡時期還可以『命令列介面』啟動時的訊息如下:

2025年4月28日 星期一

在「終端機」中操作「丟進回收筒」、還原「回收筒(Trash)」的指令

現在的作業系統對於 “將檔案、目錄「丟進回收筒」” 這個命令,增加了一些保障。當看到檔案、目錄從原來的地方消失了,並不是立即被刪除了,而是『暫時』搬到「回收筒(Trash)」。使用者接下來可能的做法有:
  • 還原誤刪之檔案、目錄
  • 清空「回收筒」取回硬碟空間
這些操作在「圖形化桌面」中很方便,在「回收筒」按「滑鼠右鍵」會出現「開啟回收筒」或「清理回收筒」的選項,接著就依畫面指示操作,很是方便。但是,
當透過「(遠端)終端機」操作 Linux 系統時,如何以『文字命令』執行上述「還原」、「清空」的動作呢?

1.「回收筒」的檔案結構及原理

在說明這些指令前,先說明 Linux 中「回收筒」的檔案結構及原理:當使用者下達 “將檔案、目錄「丟進回收筒」” 這個操作後,

2025年4月27日 星期日

設定 Apache 的 SSL/TLS 使用 Let's Encrypt 的憑證並更新

自己架設網站有幾個問題要先考慮:
  • HTTPS:為避免連網過程中所傳輸的資料被攔截、竊取,會使用 HTTPS 其應用 TLS (或 SSL) 來加密 HTTP 的請求與回應。萬一資料被攔截時看不到文字,只是一堆看似隨機的字元。
  • 憑證:TLS 是一種公開金鑰加密的技術:使用一對金鑰,即「公開金鑰」和「私密金鑰」,其中公開金鑰透過網頁伺服器的 SSL 憑證與用戶端裝置共享。當用戶端與伺服器端連線時,這兩個裝置使用公開金鑰和私密金鑰協商一個新的金鑰(稱為工作階段金鑰),用以加密它們之間的所有通訊。
  • 申請憑證:有數種獲得方式,但因安全考量,能選擇的越來越少,
    • 本機憑證:因客戶端瀏覽器無法驗證憑證的真實性,需在客戶端設定,多已不支援。
    • 憑證服務:多數是付費服務,而免費服務中的 Let's Encrypt 是比較獲得認可。
  • 網域名稱:在申請憑證過程中需要網站的「網域名稱」,有很多免費網域名稱可註冊使用。若是公司行號也可付費註冊一個特別的網域名稱。
這幾個問題本文將針對 Let's Encrypt 憑證服務及 HiNet 網域名稱做簡單的說明。

2021年4月10日 星期六

利用『USB/IP』將 USB 裝置『重導』至另一部電腦(2021修訂)

之前為了使用接在遠端電腦的 USB 裝置,整理紀錄下來的〝利用『USB/IP』將 USB 裝置『重導』至另一部電腦〞一文,最近找出來使用,發現內容有些不適用現在的版本,故修訂前文以更新紀錄。

使用 USB/IP 將接在遠端電腦的 USB 裝置透過網路『重導』到另一台電腦,已經不需要經由  RPM Fusion - Free 套件庫安裝了,Fedora 自己的套件庫已經有收錄。
  測試的結論先整理一下,免得有人像筆者一樣,試了半天才發現不合需求,而浪費時間。
  • 目前的版本兩台電腦都需以 root 權限設定,才可順利重導 USB 裝置。
  • 目前的版本只能『一對一重導』,尚不能『一對多分享』。
  • USB 裝置所在電腦或稱為 Server(伺服器),接收重導那台稱為 Client(客戶端)。
  • Client 端電腦若為「圖型化桌面環境」,重導後會『自動掛載』該 USB 裝置。

一、安裝 USB/IP

2020年11月29日 星期日

解決「將 Dev-C++ 安裝在 Linux 中的 Wine 時,不能使用【編譯並執行】功能」之問題

這次用的 Dev-C++ 是裝在 Linux 中的 Wine,不過當下了【編輯並執行(Compile & Run)】命令時,郤沒出現應有的終端機畫面。查了一下,是 Dev-C++ 在 Wine 中執行時,有個執行編譯後執行檔的程式不能正確被 Dev-C++ 呼叫所致。
   找了網路解法,也不能直接解決,看來是查到的解法不適用我的環境,只好動手改一下。出問題的是位於「~/.wine/drive_c/Program Files (x86)/Dev-Cpp」目錄下的「ConsolePauser.exe」這個程式。

2020年11月28日 星期六

解決「將 Dev-C++ 安裝在 Linux 中的 Wine 時,Dev-C++ 中文化」之問題

最近有機會再接觸到 Dev-C++,發現已有中文環境的選項,想說換成中文看看(:雖然寫程式時,還是習慣英文介面)。
從《功能選單》的《Tools》再點選《Environment Options》,就出現如下的設定畫面。

2019年3月24日 星期日

解決「MATE 桌面右上角『音量控制圖示』不見」的問題

通常調整音量是透過「Mate 桌面」右上角是 來達成,但是有時候會消失不見。這時要調整音量就有些不方便,『登出、再登入』當然可以解決,但是不方便。
  想說可能是某個「對應的程式」出了問題,查了一下系統,發現是 mate-volume-control-applet 這個程式的問題。當然,這裏先不討論修改該程式錯誤的問題,先把 找回來比較重要,只要在「終端機」下這個命令就可以讓它再出現了。
[SiB@Celeron-D ~]$ mate-volume-control-applet &
其中,命令結尾的『&』是讓這個程式在背景執行的作用。

:出現問題的狀況是:為了將聲音從藍牙耳機輸出,將本機的喇叭關閉,而在藍牙耳機離線時,聲音系統無法找到替代的聲音輸出裝置(應該是切換為 Dummy Output)而當掉。

已測試版本:

  • Fedora 29 + MATE Desktop 1.20.4

2019年1月12日 星期六

將 Fedora 安裝在「軟體 RAID」的 RAID 硬碟組以保護系統

RAID 是利用增加的硬碟來保護儲存的資料,如果想要整個碟碟都納入保護(即:將 RAID 硬碟組做為「開機硬碟」)。以往多需要買一張「RAID 控制卡」,以安裝 RAID 硬碟組。後來,晶片組漸漸將 RAID 的功能加入,只要在 BIOS 設定好就可以了。
  不過,利用晶片組所提供的 RAID 功能之硬碟組,當更換主機板時,可能會不相容,如此一來想保護硬碟資料的初衷就失敗了。幸好,Linux 支援「Software RAID (軟體 RAID)」的功能,不再受限於主機板及 BIOS (註),再加上 CPU 的運算能力已超過一般用途所需。因此,使用 Linux 的「軟體 RAID」就是一個不錯的選擇。

2019年1月10日 星期四

解決「某些 HP 印表機不能使用 Fedora 內建設定程式」的問題

在 Fedora 中使用用 HP 印表機,之前都是由《程式選單》→《系統》→《管理》中點選《列印設定值》以開啟印表機設定程式 (system-config-printer)。在安裝 Fedora 26 以後版本,發現這個設定程序已不能順利使用印表機了。網路上有提到用 hp-setup 就可以正確,查到方法趕快測試。

安裝前的準備工作

在使用 HP-Setup 安裝驅動程式前,要先開啟一個「通訊埠」SLP,即:427/TCP,請參考前文〝 Fedora 18 的「防火牆」設定(一):開「通訊埠」〞操作。

使用 HP-Setup 安裝驅動程式

網路上有提到用 hp-setup 就可以正確,查到方法趕快測試,

2018年11月4日 星期日

LibreOffice 中,如何將「分頁名稱」嵌入「儲存格」的字串中做為顯示用

在製做試算表時,常將不同的資料放在不同的分頁。因為是同類的資料,所以輸出表格、顯示的格式當然相同,而其中只有資料不同而已,某些「儲存格 (cell)」是用以顯示不同的資料內容。但是,在以不同分頁存放不同資料時,其「分頁名稱 (sheet name)」已經分別以不同名稱命名,在「儲存格」中要顯示的名稱又與「分頁名稱」相同,為何要在不同位置做同樣的設定數次呢?為什麼不直接將「分頁名稱」帶到「儲存格」做為顯示之用呢?
  為解決這個問題,就從 LibreOffice 所提供的函式找起。由於,是與試算表本身的資訊有關,可以推測是「資訊」這個分類的函式。其中,又以 CELL 這個函式最有可能,再看其說明,其中就有這個解答,接下來就說明這幾個相關函式的用法,
=CELL("資訊類型", 參照)
=FIND("尋找文字串", "搜尋文字", 搜尋起點)
=LEN("文字字串")
=MID("文字字串", 開始位置, 字數)
其中,
CELL:可取得參照「儲存格」所在「分頁」的「資訊類型」所指定的資訊。
FIND:從「尋找文字串」的「搜尋起點」所指定位置開始搜尋,找出「搜尋文字」從「尋找文字串」之「搜尋起點」算起之位置。
LEN:取得「文字字串」的長度。
MID:從「文字字串」中,指定的「開始位置」開始,取出所指定字數做為一個新字串。

2018年10月24日 星期三

修改「編譯 VirtualBox 核心模組」的操作命令

又出現 VirtualBox 不能啟動,或啟動後運作不正常。依過往的經驗,可能是核心驅動模組編譯不成功所致。參考前文『解決「因『核心模組』錯誤,致 VBox 虛擬機不能啟動」問題』重下編譯命令,卻出現這個訊息
[root@Core-i7 ~]#  /etc/init.d/vboxdrv setup
-bash: /etc/init.d/vboxdrv: No such file or directory
原先用來編譯的程式 vboxdrv 不存在了,是不是 vboxdrv 這個程式換目錄了?

2018年4月5日 星期四

解決「用 firewall-config 設定豐富規則 (Rich Rules) 失敗」的問題

為了電腦的安全,通常會啟動「防火牆」以防止外來者的入侵。但是當開啟某些服務時,又希望只有合法的使用者可以連入使用。因此,在「防火牆」開個洞讓這些電腦可以連入並使用服務,就變成必需的。
  簡單的「防火牆」設定,只是開個埠讓外界電腦可以連入,但是不能限制連入的電腦。以前有個軟體 FWBuilder 很好用,後來 Fedora 的「防火牆」改用 firewalld 以取代 IPTable 後,firewalld 附帶的編輯器愈來愈完整,設「分享器」也很方便。漸漸地 FWBuilder 也被從 Fedora 的「套件資料庫」中移除。
  最近,除了 SSH 的埠(也換了埠號)外,也要開其它埠給別的「服務」使用(給不會設定 SSH 隧道的使用者),就要限制連入電腦的網路位址(IP address)。在 fieewall-config 中有個「豐富規則」(Rich Rules)的設定分頁,就是為了這個用途。

2018年3月21日 星期三

安裝 OpenCL 程式框架 (一):pocl (修訂)

前文〝安裝 OpenCL 程式框架 (五):AMD CPU〞的安裝步驟因 AMD 未再更新其 CPU 的 OpenCL 程式框架,恐影響 OpenCL 之效能,故擬採用 pocl 的 OpenCL 程式框架。參考〝安裝 OpenCL 程式框架 (一):pocl〞安裝完成後,開始測試,
[SiB@A10-R7 ~]$ ./Hello_All_OpenCL
There are 2 platforms in this system.
1.Clover, OpenCL 1.1 Mesa 17.3.6, 1 device.
  1-1.[GPU] AMD KAVERI (DRM 2.50.0 / 4.15.9-300.fc27.x86_64, LLVM 5.0.1), 17.3.6, 8 Compute Units, 866 MHz.
            OpenCL 1.1 Mesa 17.3.6, OpenCL C 1.1 (1.1), 64-bit Little-Endian.
            Computed '1000000/1000000' correct values!  (  0.306309 us)
2.Portable Computing Language, OpenCL 1.2 pocl 0.15-pre, LLVM 5.0.0, 1 device.
  2-1.[CPU] pthread-AMD A10-7890K Radeon R7, 12 Compute Cores 4C+8G, 0.15-pre, 4 Compute Units, 4100 MHz.
            OpenCL 1.2 pocl HSTR: pthread-x86_64-unknown-linux-gnu-haswell, OpenCL C 1.2 pocl(1.2), 64-bit Little-Endian.
1 error generated.
Error: Failed to build program executable! (-11)
error: <built-in>:2:10: '/usr/lib64/clang/5.0.0/include/opencl-c.h' file not found

2017年12月10日 星期日

安裝 OpenCL 程式框架 (六):Intel GPU 和 CPU 並用 (OpenCL 2.0)

Intel 提供 Linux 的 OpenCL 2.0 GPU/CPU 驅動程式,不過只限在第五~七代的 Core 處理器才可以用,當然得試試看。網頁上除了提供 OpenCL 驅動程式外,也有 OpenCL SDK 可下載。不過,因為想與其它支援 OpenCL 的顯示卡混用,就只安裝驅動程式。

一、下載安裝檔,並解壓縮

Intel 的官方網頁下載 OpenCL 2.0 驅動程式,檔案名稱為 SRB5.0_linux64.zip。以 unzip 解壓縮到 SRB5.0_linux64 這個目錄,
[SiB@A550V Temp]$ unzip -d SRB5.0_linux64 SRB5.0_linux64.zip

2017年11月19日 星期日

解決「用 sdkmanager 安裝模組時,出現 "No space left on device." 訊息」的問題

最近 Android 推出新版 O,想說模擬器也安裝看看,結果失敗
[root@Core-i7 ~]# /opt/android-sdk/tools/bin/sdkmanager system-images\;android-27\;google_apis_playstore\;x86
Warning: An error occurred while preparing SDK package Google Play Intel x86 Atom System Image: No space left on device.
[root@Core-i7 ~]# ll==                  ] 55% Unzipping... x86/vendor.img
出現『Warning: An error occurred while preparing SDK package Google Play Intel x86 Atom System Image: No space left on device.』這個訊息,字面的意思是『空間不足』。
  找一下,看它將下載的檔案放在哪裏?應該是『下載空間不足』,不然就是『解壓縮時空間不足』。

2017年11月5日 星期日

解決「SSH 連線出現 bind: Cannot assign requested address」的問題

最近使用 SSH 連線至「遠端電腦」,都會出現一個訊息,
[SiB@Celeron-D ~]# ssh -p 5566 SiB@192.168.10.17 -L 7508:127.0.0.1:8508 -L 7558:192.168.10.55:8558
SiB@192.168.10.17's password:
bind: Cannot assign requested address
channel_setup_fwd_listener_tcpip: cannot listen to port: 7508
bind: Cannot assign requested address
channel_setup_fwd_listener_tcpip: cannot listen to port: 7555
Could not request local forwarding.
Last login: Sun Nov  5 17:40:30 2017 from 192.168.10.13
但是操作、使用上都沒有問題。對此有些納悶,想瞭解問題的徵結所在,也看是否能將這個問題解決。
  查了網路,多提到要修改 /etc/hosts 這個檔案。參考這些建議修改,訊息照樣出現。不過確定一點是:有 forward 參數時,才會出現這個訊息。後來靈機一動,是不是 IPv4 和 IPv6 的問題。在 SSH 命令中強制使用 IPv4,
[SiB@Celeron-D ~]# ssh -4 -p 5566 SiB@192.168.10.17 -L 7508:127.0.0.1:8508 -L 7558:192.168.10.55:8558
SiB@192.168.10.17's password:
Last login: Sun Nov  5 18:45:23 2017 from 192.168.10.13
就是上例中的 -4,結果那些訊息都不再出現了。

已測試版本:

  • Fedora: 26

參考資料:

2017年11月4日 星期六

解決「 Fedora 26 中 Blender 不能啟動」的問題

在 Fedora 26 安裝 Blender 後,從「程式選單」開啟 Blender 卻沒有出現任何視窗。再從「終端機」開啟以觀察錯誤訊息,
[SiB@Core-i7 ~]$ blender
blender: error while loading shared libraries: libtbb.so.2: cannot open shared object file: No such file or directory.gz

2017年8月13日 星期日

在 Fedora 中,安裝 Quartus Prime Lite 16.1

最近需要用到新版的 Quartus Prime Lite 16.1,將它安裝在 Fedora 22 系統中。參考前文的步驟,並不能正確安裝它。看了執行時的錯誤訊息,應是幾個使用的函式庫未安裝所致,補上這些套件
[root@Core-i7 ~]# dnf install libX11.i686 libXext.i686 libXft.i686 ncurses-libs.i686
同時也會安裝 libXau.i686 libxcb.i686 bzip2-libs.i686 expat.i686 fontconfig.i686 freetype.i686 libXrender.i686 libpng.i686 zlib.i686 libstdc++.i686 這幾個關聯套件。

2017年6月24日 星期六

列出 sdkmanager 可安裝套件的完整名稱

在前文“安裝 Android SDK 供『所有用戶』開發 Android APP”中,有提及用
[root@Core-i7 ~]# /opt/android-sdk/tools/bin/sdkmanager <套件名> [<套件名>]
安裝 Android SDK 的開發套件。不過,在查詢套件名稱時
[root@Core-i7 ~]# /opt/android-sdk/tools/bin/sdkmanager --list
Installed packages:
  Path                                                  | Version | Description   | Location
  -------                                                 | -------   | -------            | -------
  add-ons;addon-g..._apis-google-15 | 3        | Google APIs | add-ons/addon-g...apis-google-15/
  add-ons;addon-g..._apis-google-18 | 4        | Google APIs | add-ons/addon-g...apis-google-18/
 ..........
Available Packages:
  Path                                                  | Version   | Description
  -------                                                 | -------     | -------
  add-ons;addon-g..._apis-google-15 | 3            | Google APIs
  add-ons;addon-g..._apis-google-16 | 4            | Google APIs
  add-ons;addon-g..._apis-google-17 | 4            | Google APIs
  add-ons;addon-g..._apis-google-18 | 4            | Google APIs
  add-ons;addon-g..._apis-google-19 | 20          | Google APIs
  add-ons;addon-g..._apis-google-21 | 1            | Google APIs
 ..........
如標示為紅色的套件名稱,其中的『. . .』在安裝時卻不知該填入哪些字。想安裝也會因為不知完整名稱,而出現找不到套件名稱的錯誤訊息。