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

參考資料: