透過指令、讓系統預設瀏覽器開啟網頁

最近因為要碰 OAuth 2.0(維基百科)的東西,可能還得自己實作出 C++ 的 OAuth 方案,所以就開始研究相關的東西了。

而沒想到原理大概了解後,實作的第一步、也就是要透過 C++ 讓系統預設瀏覽器開啟 OAuth 的授權網頁(可以想像成要開啟一個特定網址的網頁)的時候就卡關了…

基本上,C++ 裡面可以透過 system() 這個函式(參考)來執行系統命令,所以其實這邊 Heresy 的構想,就是透過 system() 來執行系統指令、開啟網頁。

而對應的指令呢,其實找了一下,還算滿簡單的:

閱讀更多»

筆記:在幾種命令提示字元下找檔案的方法

因為最近編譯函式庫都是在 Docker 內操作,常常會需要在沒有圖形介面、只有命令提示字元的狀況下去找檔案,這邊稍微紀錄一下幾種不同環境的方法。

以要找 dll 檔案來說,指令會是下面的樣子。


Windows batch(CMD)

感覺最麻煩的一個:

for /R %f in (*.dll) do @IF EXIST %f @echo "%f"

估計自己永遠不會記得吧?

參考:bat function to find a file in folder and subfolders and do
something with it.

閱讀更多»

縮小 Ubuntu 的 Hyper-V VM 動態 VHD 檔案

之前有紀錄過,微軟有提供「Optimize-VHD」這個 Hyper-V 的 PowerShell cmdlet(官方文件),可以用來透過釋出沒有用到的空間來最佳化動態擴充的 VHDX 的大小。

而當最近當發現自己用 Hyper-V 架設的 GitLab 的 VHDX 檔案所占用的空間越來越大、遠遠超過實際的內容(實際檔案只有不到 100GB,但是檔案卻有 640GB…),想透過「Optimize-VHD」來縮小檔案的時候,卻發現它幾乎沒有用!?

後來查了一下,才發現微軟的 Optimize-VHD 主要應該還是以對應 Windows 的 NTFS 為主,對於 Linux 的檔案系統看來是沒辦法很好地去偵測檔案裡的那些區塊並沒有實際被用到、所以基本上無法有效地縮小檔案。

閱讀更多»

使用 rsync 備份透過 Docker 架設的 WordPress

這篇勉強算是之前《自行透過 Docker 建立 WordPress 網站》的後續,不過主要應該還是在記錄自己這邊稍微玩一下 rsync 這個 Linux 下的備份工具(維基百科)的紀錄了。

首先,Heresy 這邊是要在跑 WordPress 的機器(以下簡稱 WP)上,另外跑一個 rsync daemon 來讓另一台備份用的電腦(以下簡稱 Backupper)連進來、把資料備份到 Backupper上。

閱讀更多»

Ubuntu 的 Docker 無法使用的問題

前幾天,手邊幾台 Ubuntu 20.04 的電腦似乎是在 apt 更新完後,就開始出現 docker 容器無法正確執行的問題了?

錯誤訊息基本上是:

OCI runtime create failed: container_linux.go:348: 
starting container process caused: error adding seccomp filter rule for syscall clone3: permission denied: unknown

這個問題基本上應該不是個案,在網路上也可以找到相關的討論。

閱讀更多»

在 WSL 存取可移除儲存裝置(記憶卡、隨身碟)

微軟針對 Windows 10 推出的 Windows Subsystem for Linux(WSL)在 Heresy 來看,對於以 Windows 為主環境、但是卻偶爾需要使用 Linux 的人來說,算是相當方便的功能。

不過,他雖然預設就可以在「/mnt/c」這樣的路徑下,存取 Windows 的磁碟機,算是相當方便;但是對於可移除的儲存裝置(例如外接硬碟、隨身碟、記憶卡等等),他卻不會自動掛載(mount),要讀取算是略微麻煩…

而如果真的想要在 WSL 環境內存取這類的可移除的儲存裝置的話,其實也是可以透過自行掛載來完成的。

閱讀更多»

WSL 之後的功能:支援圖形介面

微軟在 Windows 10 提供的「Windows Subsystem for Linux」後,對於 Heresy 這種以 Windows 為主要環境,但是又得碰到 Linux 環境的人來說,真的是非常方便的一件事。

而在 Windows 10 2004 的時候,微軟又大幅更新了 WSL、變成以 VM 為基礎的 WSL2,讓 WSL 的相容性再進一步提高、甚至也可以執行 Docker 了~

微軟也有打算繼續發展這套系統,之前也提到過以後 WSL 將會提供 GPU 的支援

而前幾天,微軟也發表了《What’s new in the Windows Subsystem for Linux – September 2020》,彙整了一些近期、未來的 WSL 願景。

閱讀更多»

WSL2 未來的 GPU 支援

之前在《Windows Subsystem for Linux 2 + Docker》一文,大概介紹了微軟在 Windows 10 2004 推出的 WSL2 的功能,算是介紹了 WSL 已經可以用的功能(不過要切到 Windows Insider)。

而這篇,則是來簡單紀錄一下 WSL2 還在開發,以後才能用的功能了~

在 Heresy 來看,WSL2 已經讓 Heresy 在跨平台作業時,省了很多功夫了。
不過,以現在來看,他還缺少了一個很重要的功能,那就是實際硬體的存取;尤其是 GPU 的部分,基本上現行的 WSL1、WSL2 都是無能為力的。

但是,現在深度學習的東西,基本上大多是在 Linux 上開發、運作,Windows 雖然不是說不能跑,但是大多相對麻煩。也因此,如果可以透過 WSL2 來跑相關的套件,其實是會很方便的!

閱讀更多»