tag:blogger.com,1999:blog-36018819310504050572024-03-23T21:58:11.694+08:00荒天翔鷗的天地Fygul Hether's BlogFygul Hetherhttp://www.blogger.com/profile/14177537617231833647noreply@blogger.comBlogger226125tag:blogger.com,1999:blog-3601881931050405057.post-68656397942744312232024-03-23T21:55:00.002+08:002024-03-23T21:57:37.541+08:00自動翻頁擴展<div class="e-content entry-content" itemprop="articleBody text" style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">
<h2 style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">概要</h2>
<p style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">上網瀏覽網頁時難免會碰到某些內容較多的網頁,或是長長的討論串,此時網站可能採取多個頁面的方式來呈現,讓用戶點下一頁的按鈕來顯示下一頁內容。在此情形下,若是想在同一個視窗觀看同一篇文字內容的全部或是多個頁面,而不想一次僅能看一頁片段內容時,就要設法把每頁的內容拼接在一起。如果會使用瀏覽器的網頁開發者工具,可以利用它來逐一複製/貼上每頁的網頁內容來達成此工作,但這樣的手工作業方式未免過於繁瑣,有幾個自動翻面的擴展可供使用,以下就簡單介紹幾個。<span style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);"></span></p><a name='more'></a><p style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);"></p>
<h2 style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">幾款自動翻頁擴展</h2>
<p style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">在Firefox附加元件站可以找到幾款自動翻頁的擴充套件,以下是其中幾個:</p>
<ul style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">
<li style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);"><a href="https://addons.mozilla.org/zh-TW/firefox/addon/autopagerizeadvanced/" style="--link-color-active: rgb(246, 246, 85) !important; --link-color-hover: rgb(248, 248, 114) !important; --link-color: rgb(246, 246, 85) !important; --original-background-color: body-trans; --original-color: rgb(0, 0, 0); --visited-color-active: rgb(246, 193, 85) !important; --visited-color-hover: rgb(248, 203, 114) !important; --visited-color: rgb(246, 193, 85) !important;" target="_blank">AutoPagerize Advanced</a></li>
<li style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);"><a href="https://addons.mozilla.org/zh-TW/firefox/addon/uautopagerize/" style="--link-color-active: rgb(246, 246, 85) !important; --link-color-hover: rgb(248, 248, 114) !important; --link-color: rgb(246, 246, 85) !important; --original-background-color: body-trans; --original-color: rgb(0, 0, 0); --visited-color-active: rgb(246, 193, 85) !important; --visited-color-hover: rgb(248, 203, 114) !important; --visited-color: rgb(246, 193, 85) !important;" target="_blank">uAutoPagerize</a></li>
<li style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);"><a href="https://addons.mozilla.org/zh-TW/firefox/addon/weautopagerize/" style="--link-color-active: rgb(246, 246, 85) !important; --link-color-hover: rgb(248, 248, 114) !important; --link-color: rgb(246, 246, 85) !important; --original-background-color: body-trans; --original-color: rgb(0, 0, 0); --visited-color-active: rgb(246, 193, 85) !important; --visited-color-hover: rgb(248, 203, 114) !important; --visited-color: rgb(246, 193, 85) !important;" target="_blank">weAutoPagerize</a></li>
<li style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">
<a href="https://addons.mozilla.org/zh-TW/firefox/addon/infy-scroll/" style="--link-color-active: rgb(246, 246, 85) !important; --link-color-hover: rgb(248, 248, 114) !important; --link-color: rgb(246, 246, 85) !important; --original-background-color: body-trans; --original-color: rgb(0, 0, 0); --visited-color-active: rgb(246, 193, 85) !important; --visited-color-hover: rgb(248, 203, 114) !important; --visited-color: rgb(246, 193, 85) !important;" target="_blank">Infy Scroll</a>:目前仍是Beta版。</li>
</ul>
<p style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">筆者過去用過AutoPagerize Advanced與uAutoPagerize,以下僅簡單介紹這兩者的運作。</p>
<p style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">裝好AutoPagerize Advanced後,它會自動連線取得並更新<a href="http://wedata.net/databases/AutoPagerize/items" style="--link-color-active: rgb(246, 246, 85) !important; --link-color-hover: rgb(248, 248, 114) !important; --link-color: rgb(246, 246, 85) !important; --original-background-color: body-trans; --original-color: rgb(0, 0, 0); --visited-color-active: rgb(246, 193, 85) !important; --visited-color-hover: rgb(248, 203, 114) !important; --visited-color: rgb(246, 193, 85) !important;" target="_blank">站點信息(SITEINFO)</a>,這相當於現成的資料,目前有3808條,只要瀏覽的網頁網址與其中的資料匹配,且資料正確無誤,即可自動翻頁。</p>
<p style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">這個站點信息的格式是JSON,其中的每條記錄主要是網站的網址、下一頁按鈕的位置、存放每頁頁面內容。此資料會有人不斷做更新,才不致因瀏覽的網站設計做了修改,沒跟著更新而失效。</p>
<p style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">uAutoPagerize也同樣可自動抓取上述的站點信息,而且還可以讓用戶編輯自用的額外站點信息,它會提供範例供參考,其中的形式主要是XPATH與Regular Expression,懂這兩者的才知道怎麼做。</p>
<p style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">weAutoPagerize功能上看來與uAutoPagerize較接近;Infy Scroll有較多樣的功能。</p>
<p style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">上述幾款從中挑一個順手的使用即可。如果同時裝了上述前三款中的幾個,建議只啟用其中一個即可,因為它們都採用同一來源的站點信息,相同的運作方式,沒必要同時啟用兩個。</p>
<p style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">另外要注意的是自動翻頁擴展並非可適用在所有的網站,如果真遇到搞不定的,若不想放棄,還有另一種途徑:腳本。這必須先裝好像Violentmonkey可執行自訂腳本的擴展才行。</p>
<h2 style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">翻頁腳本</h2>
<p style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">如果遇到上述擴展搞不定的網站,若有使用<a href="https://fygul.blogspot.com/2024/01/violentmonkey.html" style="--link-color-active: rgb(246, 246, 85) !important; --link-color-hover: rgb(248, 248, 114) !important; --link-color: rgb(246, 246, 85) !important; --original-background-color: body-trans; --original-color: rgb(0, 0, 0); --visited-color-active: rgb(246, 193, 85) !important; --visited-color-hover: rgb(248, 203, 114) !important; --visited-color: rgb(246, 193, 85) !important;" target="_blank">Violentmonkey</a>,不妨試試<a href="https://greasyfork.org/zh-TW/scripts/438684-pagetual" style="--link-color-active: rgb(246, 246, 85) !important; --link-color-hover: rgb(248, 248, 114) !important; --link-color: rgb(246, 246, 85) !important; --original-background-color: body-trans; --original-color: rgb(0, 0, 0); --visited-color-active: rgb(246, 193, 85) !important; --visited-color-hover: rgb(248, 203, 114) !important; --visited-color: rgb(246, 193, 85) !important;" target="_blank">東方永頁機</a>,裝好後記得先依照說明導入基礎規則庫並更新。個人覺得這個腳本相當好用,如果已有Violentmonkey,甚至可考慮用它取代掉上述幾款擴展。</p>
<h2 style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">結語</h2>
<p style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">過去筆者曾針對幾個特定網站寫過翻頁腳本,但一遇到該網站的網頁結構或是程式做了修改,原有的翻頁腳本就得再花時間跟著做調整,這實在有點麻煩,後來就放棄這樣的作法,改用他人做好的現成擴展或腳本好讓自己輕鬆點。現在已有相當好的現成品可供選擇,視需求挑個順手好用的即可。</p>
<p style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">如果看倌有自動翻頁的需求,若已有Violentmonkey,可優先考慮採用東方永頁機,它可適用於絕大多數的網站;若不想裝Violentmonkey,或懶得動手做設置工作,那就上述前三款擴展挑一個來用就好,裝好即可適用多數流行的網站,若真遇到不適用的網站就別強求了,不然的話還是請換成東方永頁機。</p></div>Fygul Hetherhttp://www.blogger.com/profile/14177537617231833647noreply@blogger.com0tag:blogger.com,1999:blog-3601881931050405057.post-89091710323401149412024-02-24T22:28:00.003+08:002024-02-24T22:28:48.444+08:00三款QR Code相關擴展<header><h2 style="text-align: left;">概要</h2></header><div class="e-content entry-content" itemprop="articleBody text">
<p>之前在〈<a href="https://fygul.blogspot.com/2021/09/zint-barcode-studio.html" target="_blank">Zint Barcode Studio條碼產生器</a>〉提到一些QR Code(二維碼)相關資源,其中包含了Firefox中可用的擴展元件,以下對這些元件做點更進一步的簡單介紹。</p>
<h2>三款QR Code相關擴展</h2>
<p>以下三者各有不同特色,前二者也可在Android版的Firefox上使用,提供較一般的QR Code生成與識別功能,也就是把文字或URL轉成QR Code,或對QR Code的辨識,至於較特殊內容,像WiFi連線用的二維碼是沒辦法生成或辨識的。</p>
<h3><a href="https://addons.mozilla.org/zh-CN/firefox/addon/qrcode-generator-and-reader/" target="_blank">二維碼生成及識別</a></h3>
<p>安裝好後,採預設的設置即可使用。使用上相當簡單,對著網頁按右鍵顯示快捷命令選單後即可找到“生成二維碼”這個命令選項,用法如下:</p>
<ul>
<li>對著網頁空白處點右鍵,用此命令可產生此網頁網址的二維碼;或是如果對著某個連結或圖片點右鍵,可產生此連結或圖片網址的二維碼。</li>
<li>如果先圈選了文字再按右鍵,可產生這些文字的二維碼。實測若文字過多會無法生成。</li>
<li>若對著二維碼圖片點右鍵,此命令下會有“識別二維碼”的子命令,可辨識二維碼內容。並非所有類型的條碼都能辨識,在某些網頁上的條碼圖片也可能無法辨識。</li>
</ul>
<p>這個擴展也有Chrome, Edge的版本。</p>
<h3><a href="https://addons.mozilla.org/zh-TW/firefox/addon/offline-qr-code-generator/" target="_blank">離線 QR Code 產生器</a></h3>
<p>同樣採預設設置即可使用,其主要特色是離線作業,意即不會把資料上傳到後端處理再回傳,而是直接在瀏覽器端產生二維碼,以避免機敏資料被後端收集使用。</p>
<p>其作用就是把選取的內容或是連結轉成QR Code。這工作同樣可用快捷命令選單來完成。</p>
<p>如果想產生目前網頁的網址,可先讓此元件釘選至工具列,複製好網址,點工具列上此元件的按鈕會出現輸入框,在其中貼上後即可顯示網址的二維碼。這方式也可貼上文字以產生文字的二維碼。</p>
<h3><a href="https://addons.mozilla.org/zh-TW/firefox/addon/qr-code-reader/" target="_blank">QR Code Reader</a></h3>
<p>無設置。使用時會出現一個獨立視窗,從中可選擇自webcam讀取條碼,或載入條碼圖片檔案做辨識。可辨識的條碼種類比上述第一款更多。</p>
<h2>結語</h2>
<p>上述三款二維條碼擴展不論在生成與識別的功能都是比較簡單的,尤其識別方面,使用智慧型手機會更快速便捷。</p>
<p>既然它們的功能都很陽春,或許有人會想,何不直接改用其他工具就好,譬如手機?的確如此。然而在這樣的使用情境時可考慮採用:假如用電腦看網頁時發現某個網頁內容不錯,而在一旁的人也正好對此有興趣,想用自己的手機查看,此時可將網址轉二維碼,然後以手機掃描,這樣就可不用人工輸入網址。</p>
<p>以上介紹了三款,並非建議全數採用,若以上述使用情境而言,筆者覺得第一款或第二款就夠了,若需要其他較進階精細的二維條碼功能,建議還是採用其他有提供進階功能的軟體或線上服務,這些可在本文開頭提到的文章中找到。</p></div>Fygul Hetherhttp://www.blogger.com/profile/14177537617231833647noreply@blogger.com0tag:blogger.com,1999:blog-3601881931050405057.post-82258063442106215492024-01-20T09:53:00.002+08:002024-03-22T20:55:07.113+08:00Violentmonkey與相關腳本<div class="e-content entry-content" itemprop="articleBody text" style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">
<h2 style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">概要</h2>
<p style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">話說在很久之前,用瀏覽器看一些文章或新聞報導時,除了想看的文字之外,網頁上難免會夾雜一些令人分心的內容,像廣告或是其他清涼養眼圖片。那時就想著,如何讓瀏覽器只顯示想要看的內容即可,避免其他不相干內容分散注意力。想擋廣告有其他擴展可用,但前述有些並非商業廣告,要想讓這些非必要內容不顯示,得利用JavaScrip操縱HTML,把不想要的部分清除掉。這樣,得有個擴展可讓使用者執行JavaScript。那時找到<a href="https://github.com/greasemonkey/greasemonkey" style="--link-color-active: rgb(246, 246, 85) !important; --link-color-hover: rgb(248, 248, 114) !important; --link-color: rgb(246, 246, 85) !important; --original-background-color: body-trans; --original-color: rgb(0, 0, 0); --visited-color-active: rgb(246, 193, 85) !important; --visited-color-hover: rgb(248, 203, 114) !important; --visited-color: rgb(246, 193, 85) !important;" target="_blank">GreaseMonkey</a>(油猴子),官方文件做的還算清楚,花些時間看過後就按自己需求針對較常用的網站寫了些自用的腳本,從此就離不開這隻油猴子。</p>
<p style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">Firefox 57之後,有段時間GreaseMonkey的更版速度有點跟不上,致之前寫的腳本有部份功能失去作用,於是打算開始物色替代品。新的發現是<a href="https://www.tampermonkey.net/" style="--link-color-active: rgb(246, 246, 85) !important; --link-color-hover: rgb(248, 248, 114) !important; --link-color: rgb(246, 246, 85) !important; --original-background-color: body-trans; --original-color: rgb(0, 0, 0); --visited-color-active: rgb(246, 193, 85) !important; --visited-color-hover: rgb(248, 203, 114) !important; --visited-color: rgb(246, 193, 85) !important;" target="_blank">Tampermonkey</a>(篡改猴),比起油猴子,不僅適用於Firefox,也適用Chrome,只是功能與文件說明方面都比油猴子複雜些。當時決定稍擱置對舊腳本做更新,一方面等待油猴子更版,另一方面等待篡改猴能否把說明做完善些。這一擱置,時間一晃多年過去,這兩隻猴子還是沒得到筆者青睞,於是再試試另一項競品:Violentmonkey(暴力猴)。最終因為暴力猴對舊腳本的相容性較佳,且文件說明較清楚,使用界面也相當容易上手,就決定換隻猴子玩玩。</p>
<p style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">以下簡單介紹Violentmonkey與幾個腳本。如同之前同系列文章,並非詳盡教學文。<span style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);"></span></p><a name='more'></a><p style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);"></p>
<h2 style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">Violentmonkey與幾個實用腳本</h2>
<p style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);"><a href="https://violentmonkey.github.io/" style="--link-color-active: rgb(246, 246, 85) !important; --link-color-hover: rgb(248, 248, 114) !important; --link-color: rgb(246, 246, 85) !important; --original-background-color: body-trans; --original-color: rgb(0, 0, 0); --visited-color-active: rgb(246, 193, 85) !important; --visited-color-hover: rgb(248, 203, 114) !important; --visited-color: rgb(246, 193, 85) !important;" target="_blank">Violentmonkey</a>是瀏覽器用戶腳本管理器,可方便用戶從<a href="https://greasyfork.org/zh-TW" style="--link-color-active: rgb(246, 246, 85) !important; --link-color-hover: rgb(248, 248, 114) !important; --link-color: rgb(246, 246, 85) !important; --original-background-color: body-trans; --original-color: rgb(0, 0, 0); --visited-color-active: rgb(246, 193, 85) !important; --visited-color-hover: rgb(248, 203, 114) !important; --visited-color: rgb(246, 193, 85) !important;" target="_blank">Greasy Fork</a>、<a href="https://openuserjs.org" style="--link-color-active: rgb(246, 246, 85) !important; --link-color-hover: rgb(248, 248, 114) !important; --link-color: rgb(246, 246, 85) !important; --original-background-color: body-trans; --original-color: rgb(0, 0, 0); --visited-color-active: rgb(246, 193, 85) !important; --visited-color-hover: rgb(248, 203, 114) !important; --visited-color: rgb(246, 193, 85) !important;" target="_blank">Userscripts</a>或網址來安裝現成的腳本使用。用戶也可以自行建立自己想要的新腳本。以下是幾個現成好用的腳本:</p>
<ul style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">
<li style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">
<p style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);"><a href="https://greasyfork.org/zh-TW/scripts/438684-pagetual" style="--link-color-active: rgb(246, 246, 85) !important; --link-color-hover: rgb(248, 248, 114) !important; --link-color: rgb(246, 246, 85) !important; --original-background-color: body-trans; --original-color: rgb(0, 0, 0); --visited-color-active: rgb(246, 193, 85) !important; --visited-color-hover: rgb(248, 203, 114) !important; --visited-color: rgb(246, 193, 85) !important;" target="_blank">東方網頁機</a>:有些網頁內容較多時會分到多個頁面,它可自動載入下一頁,其作用就像以前的AutoPager或是<a href="http://autopagerize.net" style="--link-color-active: rgb(234, 234, 98) !important; --link-color-hover: rgb(238, 238, 125) !important; --link-color: rgb(234, 234, 98) !important; --original-background-color: body-trans; --original-color: rgb(0, 0, 0); --visited-color-active: rgb(246, 193, 85) !important; --visited-color-hover: rgb(248, 203, 114) !important; --visited-color: rgb(246, 193, 85) !important;" target="_blank">AutoPagerize</a>。</p></li>
<li style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">
<p style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);"><a href="https://greasyfork.org/zh-TW/scripts/457196-immersive-translate" style="--link-color-active: rgb(246, 246, 85) !important; --link-color-hover: rgb(248, 248, 114) !important; --link-color: rgb(246, 246, 85) !important; --original-background-color: body-trans; --original-color: rgb(0, 0, 0); --visited-color-active: rgb(246, 193, 85) !important; --visited-color-hover: rgb(248, 203, 114) !important; --visited-color: rgb(246, 193, 85) !important;" target="_blank">沉浸式翻譯</a>:這在之前的〈<a href="http://fygul.blogspot.com/2023/10/translate.html" style="--link-color-active: rgb(246, 246, 85) !important; --link-color-hover: rgb(248, 248, 114) !important; --link-color: rgb(246, 246, 85) !important; --original-background-color: body-trans; --original-color: rgb(0, 0, 0); --visited-color-active: rgb(246, 193, 85) !important; --visited-color-hover: rgb(248, 203, 114) !important; --visited-color: rgb(246, 193, 85) !important;" target="_blank">幾款語言翻譯相關擴展</a>〉介紹過,這裡不多寫。在Greasy Fork還可以找到其他相似的。</p>
</li>
<li style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">
<p style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);"><a href="https://greasyfork.org/zh-TW/scripts/28497-%E7%BD%91%E9%A1%B5%E9%99%90%E5%88%B6%E8%A7%A3%E9%99%A4-%E6%94%B9" style="--link-color-active: rgb(246, 246, 85) !important; --link-color-hover: rgb(248, 248, 114) !important; --link-color: rgb(246, 246, 85) !important; --original-background-color: body-trans; --original-color: rgb(0, 0, 0); --visited-color-active: rgb(246, 193, 85) !important; --visited-color-hover: rgb(248, 203, 114) !important; --visited-color: rgb(246, 193, 85) !important;" target="_blank">网页限制解除(改)</a>:可解除禁止複製、選擇文字……之類的限制。同樣的,在Greasy Fork可找到相似的。</p>
</li>
</ul>
<h2 style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">結語</h2>
<p style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">Violentmonkey可讓用戶執行相當多樣化的工作,在上述兩個腳本網站可以找到很多各式各樣稀奇古怪的腳本。在此要提醒,只裝必要的,還有值得信任的腳本,可以的話,在安裝之前也先了解一下腳本內容,免得不慎裝了惡意腳本,事後才後悔莫及。</p></div>Fygul Hetherhttp://www.blogger.com/profile/14177537617231833647noreply@blogger.com0tag:blogger.com,1999:blog-3601881931050405057.post-34296154924469012022023-12-23T21:21:00.002+08:002023-12-23T21:21:34.967+08:00Shortkeys自定快速鍵擴展<h2>概要</h2><p>在〈<a href="http://fygul.blogspot.com/2023/08/3-scrapbook-addons.html">三款Firefox網頁剪貼簿擴展</a>〉的結語提及讓ScrapBee照順序擷取全部分頁的作法,這涉及利用<a href="https://zh.wikipedia.org/wiki/%E6%A9%9F%E5%99%A8%E4%BA%BA%E6%B5%81%E7%A8%8B%E8%87%AA%E5%8B%95%E5%8C%96">RPA</a>工具軟體來操作滑鼠以及快速鍵來讓ScrapBee擷取每個分頁。若以Windows平台來舉例,可用AutoIt或是AutoHotkey來操縱瀏覽器視窗與滑鼠來進行這工作,不過如果有像是可以切換到下一分頁的快速鍵,可以更方便來完成這工作。然而Firefox本身或是ScrapBee並沒有提供這類快速鍵,只能另行設法。</p><p>在Firefox 附加元件站可找到幾款能提供切換到下一分頁的擴充套件,其中有非常適合上述工作的,以下對此方面做點簡單介紹。<span></span></p><a name='more'></a><p></p><h2>幾個相關擴展</h2><p><a href="https://github.com/FlorianSchroevers/tabswitch">tabswitch</a>是個結構與功能都相當簡單的擴充套件,只用ctrl與向左、向右鍵即可向左、向右切換分頁,但在最右頁再向右時會新增分頁,這對上述工作而言就不是很合適了。</p><p><a href="https://github.com/crittermike/shortkeys">Shortkeys</a>的功能則是可讓使用者自定快速鍵給指定的動作,這些動作的種類像操作分頁、捲動頁面……等等,詳細可見其<a href="https://github.com/crittermike/shortkeys/wiki/How-To-Use-Shortkeys">說明</a>,這裡就不一一列舉。</p><p>Shortkeys的好處是設置畫面相當直覺、簡單,像官方網頁上的<a href="https://www.shortkeys.app/">展示圖</a>,可用的行為(即執行的動作)以下拉式選單來指定即可。要注意的一點是所指定的快速鍵最好別與其他程式所用的快速鍵相同,以避免非預期的結果,這點可能要自行事先了解一下目前系統已用了那些快速鍵。</p><p>個人覺得Shortkeys相當適合用在本文開頭所述的情境,舉個最簡單的例子,只要設置好兩個快速鍵即可,一個是到最左頁,一是向右。與tabswitch不同的是,在最右頁再向右時,會回到最左邊第一頁,而非新增分頁。如此,從開頭的最左頁開始擷取分頁,並記錄好第一頁的網頁標題,然後逐一向右,直到再回到開頭,發現網頁標題與第一頁的一模一樣,代表已擷取了一輪,即可完成工作。</p><h2>結語</h2><p>上述擷圖的作法只是個人採用的方式,可以有不同的變通方式或是作法,譬如抓完一分頁就將其關閉,關閉完所有分頁代表工作完成。而且本文主要放在Shortkeys,故對搭配使用的RPA未做清楚說明,只是提供簡單的構想,實際施作可以有豐富的變化。</p><p>
</p><p>Shortkeys可用的行為還算不少,本文的例子只用到兩個,如果想對某個常用行為設置快速鍵,且灠覽器未提供時,不妨試試Shortkeys,或許可以辦到。</p>Fygul Hetherhttp://www.blogger.com/profile/14177537617231833647noreply@blogger.com0tag:blogger.com,1999:blog-3601881931050405057.post-70986062926199085942023-11-25T21:06:00.005+08:002023-11-25T21:06:49.781+08:00Midnight Lizard變色擴展<div class="e-content entry-content" itemprop="articleBody text">
<h2>概要</h2>
<p>現代人往往長時間觀看手機、平板或電腦的螢幕,到了夜間,過亮的螢幕易讓眼睛疲勞,所以不論在電腦或移動裝置的作業系統也都逐漸提供夜色、深色模式這方面的功能,名稱上會各有不同,但原則上其功能就是減低螢幕的色溫與亮度,以減少亮光對眼睛的刺激。</p>
<p>瀏覽器透過擴充套件也可以很輕易達到上述相似的作用,本文介紹幾個。<span></span></p><a name='more'></a><p></p>
<h2>幾個護眼擴展</h2>
<p>雖然以下擴充元件的原始目的不見的是為了護眼,但在本文為了方便稱呼與描述,在此段標題還是採用了此字眼。</p>
<h3>Stylus</h3>
<p>很久以前就在Firefox上使用<a href="https://add0n.com/stylus.html" target="_blank">Stylus</a>,它的原始作用是用來改變網頁的顏色主題,使用者可以利用它找到一些現成的顏色主題來套用,或者如果懂得CSS語法,也可以自行做些調整。</p>
<p>Stylus可為不同網站設置不同的主題,或讓所有網站一致使用某個主題。而我的作法一向是找個暗黑色的主題來套用,這在夜間看網頁時,可少讓眼睛受點罪。</p>
<h3>Dark Reader</h3>
<p>如果只是純粹想變換成暗色,<a href="https://darkreader.org/" target="_blank">Dark Reader</a>的使用會比Stylus簡單許多,裝好後只要一個按鍵切換即可無腦使用,就這麼簡單。然而它還是提供了調整亮度、對比……多樣功能,算來也不是個簡單傢伙,但能讓人簡單的使用。</p>
<h3>Midnight Lizard</h3>
<p>午夜蜥蜴<a href="https://midnight-lizard.org/home" target="_blank">Midnight Lizard</a>是數月前意外發現的驚奇,如同名稱般,就像變色蜥蜴,可輕易讓網頁改變配色方案。更棒的是,它已內建十幾個配色方案,不必像Stylus要先下載顏色主題後才能使用。在使用上,能像Dark
Reader一鍵切換開啟、關閉,若只想無腦使用,這一鍵也就夠了,不然還可利用下拉式選單輕易選用不同的配色方案。真想玩大的也沒問題,還有自定義方案讓人玩得夠,此外也還有其他功能供把玩。</p>
<h2>結語</h2>
<p>以上三者都有Firefox以外瀏覽器的版本可使用,各自有其風格與特性,讀者可從中選擇合適自己的來使用,不必考量到全部的功能,足夠使用且合適的即可。</p>
<p>目前筆者採用Midnight Lizard,因為它兼具了簡易與彈性的方便性,也符合個人偏好:簡單,能一鍵搞定。</p></div>Fygul Hetherhttp://www.blogger.com/profile/14177537617231833647noreply@blogger.com0tag:blogger.com,1999:blog-3601881931050405057.post-47127270530429335212023-10-15T19:45:00.002+08:002023-10-15T19:45:20.570+08:00幾款語言翻譯相關擴展<div class="e-content entry-content" itemprop="articleBody text">
<h2>概要</h2>
<p>之前在《<a href="http://fygul.blogspot.com/2023/08/3-scrapbook-addons.html" target="_blank">三款Firefox網頁剪貼簿擴展</a>》中的結語提到語言翻譯之類的軟體工具或元件。相信不少人應該已經用過像<a href="https://translate.google.com.tw/?hl=zh-TW" target="_blank">Google翻譯</a>或是<a href="https://deepl.com/" target="_blank">DeepL翻譯</a>,以中英文而言,一般說來,只要別一次大量語句,或是奇怪的語句,這些翻譯服務可有相當不錯的翻譯品質。只是這類線上翻譯得自己貼上內容查看翻譯結果,如果想看大量網頁內容的翻譯,這樣做有點不方便。</p>
<p>有一些瀏覽器擴展元件可利用線上翻譯服務提供的API功能,把要翻譯的網頁內容透過此API送到服務器,並取回翻譯好的內容並展示出來。這樣可省卻使用者複製/貼上的工作。以下簡單介紹幾款這類元件,不含使用教學。<span></span></p><a name='more'></a><p></p>
<h2>語言翻譯元件</h2>
<p>使用這些翻譯元件時,先安裝好該元件。之後,在想翻譯的網頁上按右鍵,從快捷選單中找一下該元件提供的翻譯命令;或者用元件本身提供的選單。</p>
<h3><a href="https://addons.mozilla.org/zh-TW/firefox/addon/traduzir-paginas-web/" target="_blank">TWP - Translate Web Pages</a></h3>
<p>TWP使用Google或Yandex即時翻譯網頁。翻譯整個網頁時,它不會另開新網頁顯示翻譯結果,而是在原來的網頁顯示,即原有文字會換成譯文。</p>
<p>若只要翻譯部分網頁內容,先用滑鼠選好該區塊,按右鍵選“翻譯選取文字”即可。</p>
<h3><a href="https://simple-translate.sienori.com" target="_blank">Simple Translate</a></h3>
<p>這個的用法類似TWP,但會開新網頁來顯示整個網頁的翻譯結果。</p>
<p>同樣也有只翻譯部分網頁內容的功能,方法同上,但不會開新網頁。</p>
<p>TWP只有Firefox的版本,但這個有Chrome的版本。以下也都有Chrome的版本。</p>
<h3>暴力猴/篡改猴腳本-<a href="https://greasyfork.org/zh-TW/scripts/457196-immersive-translate" target="_blank">沉浸式翻譯</a>
</h3>
<p>要使用這個腳本,得先安裝像暴力猴/篡改猴的元件才能執行此翻譯腳本。</p>
<p>這個會依文章的每個段落,把翻譯好的內容放在原始內容的後面,也就是原文/譯文並列在同一網頁,方便使用者同時對照兩種語言文字,不必離開原有的視窗,或為了查看而切換原文/譯文的顯示視窗,所以稱為沉浸式immersive。</p>
<p>這個除了翻譯網頁之外還有其它功能,但不在本文介紹範圍。</p>
<h3><a href="https://immersivetranslate.com" target="_blank">沉浸式翻譯</a></h3>
<p>上述腳本的作者後來做了這個翻譯元件,就樣就不必再透過暴力猴/篡改猴來執行,而是採一般元件的使用方式來執行翻譯。</p>
<h2>結語</h2>
<p>除了以上提到的幾款,還有許多相似的翻譯元件,可自行從中挑選自己合用的。上述只是簡單的介紹,雖然通常裝好後照著預設值就可使用,但別忘了有些功能可能還是要調整一下設置才能正常使用,必要時可查看一下說明。下回再遇到英文說明網頁看不懂時,可試試上述介紹的,翻譯品質大致上還算不錯,但無法保證百分之百絕對正確。</p></div>Fygul Hetherhttp://www.blogger.com/profile/14177537617231833647noreply@blogger.com0tag:blogger.com,1999:blog-3601881931050405057.post-52337461757419400962023-09-17T21:37:00.000+08:002023-09-17T21:37:39.756+08:00Lizard:網頁修剪擴展<div class="e-content entry-content" itemprop="articleBody text">
<h2>概要</h2>
<p>前面介紹過〈<a href="http://fygul.blogspot.com/2023/08/3-scrapbook-addons.html" target="_blank">三款Firefox網頁剪貼簿擴展</a>〉,使用這類網頁剪貼簿時有時會想把網頁中不想保存的部分先去除掉。有的剪貼簿擴展會提供簡單的修剪功能,但若想做快速且便利的操作,在過去,這方面則非HackTheWeb莫屬,而它也是筆者長久以來慣用不可缺的擴展。</p>
<p>以下簡單談論幾個網頁修剪方面的擴展,包含舊式與新式WebExtension。</p><a name='more'></a><p></p>
<h2>網頁修剪擴展的前生今世</h2>
<p>筆者最早接觸的網頁修剪擴展是<a href="https://www.karmatics.com/aardvark/" target="_blank">Aardvark</a>(食蟻獸),是Rob
Brown早在2005年的作品。後來Aardvark停止更新,好不容易找到HackTheWeb提供相同的功能與操作方式。然而,多年之前它也停止更新,也沒有推出WebExtensions的版本,就只好在Waterfox
Classic上繼續使用它。</p>
<p>有很長一段時間,曾經數次嘗試尋找可在Firefox Quantum運作的HackTheWeb的替代品卻沒有令人滿意的結果,只能找到幾個功能接近,操作上與HackTheWeb相較之下不怎麼方便的擴展,像:</p>
<ul>
<li>Print Edit WE</li>
<li>Remove/Crop-to Selection</li>
</ul>
<p>而且其中某些擴展所提供的編輯/剪除功能,並不像HackTheWeb真的把網頁元素去除掉,只是將其標示為隱藏而不顯示而已,這對我而言並不是個理想的作法,因為不想在保存網頁時,也保存那些沒用、多餘的東西。況且操作上與HackTheWeb相較實在太不方便,故這些一直不為我所重視。</p>
<p>數月之前,再次嘗試進行探索,這回有較滿意的發現,先是找到一位同好寫的一篇記錄[1],接著也發現幾個相似功能的擴展,這其中有與HackTheWeb極相近的,如下:</p>
<ul>
<li><a href="https://addons.mozilla.org/zh-TW/firefox/addon/lizardextension/" target="_blank">Lizard</a></li>
<li><a href="https://addons.mozilla.org/zh-TW/firefox/addon/aardvark-duex/" target="_blank">Aardvark Duex</a></li>
<li><a href="https://addons.mozilla.org/zh-TW/firefox/addon/nuke-anything-enhanced/" target="_blank">Nuke Anything Enhanced</a></li>
</ul>
<p>最終採用了Lizard,它的操作方式與HackTheWeb相當,只是預設不使用滑鼠,但可自行進入該擴展的偏好設定做調整,調整時建議看一下其中的說明文字。</p>
<p>另外兩個沒實際測試使用過,從其介紹文字看來,Aardvark Duex的操作與Lizard相似;而Nuke Anything Enhanced的作法則較為不同。</p>
<h2>參考與連結</h2>
<ol>
<li><a href="http://adajer.byethost5.com/articles/2020/06/06/aardvark-hacktheweb-now-update.html" target="_blank">Aardvark, Hacktheweb, now...</a></li>
</ol></div>Fygul Hetherhttp://www.blogger.com/profile/14177537617231833647noreply@blogger.com0tag:blogger.com,1999:blog-3601881931050405057.post-32279528226653367702023-08-19T21:45:00.001+08:002023-08-19T21:45:22.528+08:00三款Firefox網頁剪貼簿擴展<h2>概要</h2><p>Firefox自57版起捨棄舊式作法,採用新式的WebExtensions,之前慣用的擴充元件,有的隨著更新改成WebExtensions,但也有一些就此停止更版,只能設法尋找代替方案。然而有些代替方案並無法完美取代之前的元件,所以新式(Firefox
Quantum)與舊式的瀏覽器(Waterfox
Classic)就一直並用了好些年。直到前一陣子再花了些時間重新檢視所用的擴展元件,並發現幾款更合適的代替元件後,決定可以完全轉換使用新式瀏覽器。</p><p>不過有的舊元件的資料量還相當多,得再花些時間整理一番後再進行轉換,難以一時都轉換過來,這整個過程還得花費不少時間。反正漫長的數年都過去了,也沒必要急在一時。</p><p>以往曾為慣用的Firefox擴充元件寫過一些記錄,不過大致上都可視為過時了。這回打算趁此轉換工作也為手邊常用的瀏覽器元件做些記錄,會分成數篇,一系列的記錄文字。</p><p>本文是這一系列記錄的開端,就從ScrapBook網頁剪貼簿的現代後繼者們開始:WebScrapBook, ScrapBee,
Scrapyard,使用在現代的Firefox
Quantum,而不是舊式瀏覽器中。並非教學文字,軟體方面的使用說明與其他細節,可從文中的連結去發掘。</p><p>以下內容為現前為止的個人想法與使用經驗,其中提及的軟體以後會更新版本,可能不適於未來的情況。</p><a name='more'></a><p></p><h2>三款ScrapBook的現代後繼者</h2><p><a href="https://fygul.blogspot.com/2016/01/scrapbook.html" target="_blank">ScrapBook</a>用了超過十年,儘管早已停止更新,長久以來一直都是不可或缺的工具,也累積記錄了不少資料,此時想到要整理龐大的舊資料可真令人頭大。</p><p>本文介紹的這三款類似功能的元件都可匯入ScrapBook的資料檔使用,但儲存格式都不盡相同,無法通用。ScrapBook可將檔案直接存本機中,而新式WebExtensions元件的作法,雖然也可直接存本機,但相當受限制,若透過額外的後端(本機服務器),本機儲存可較靈活。這三者都提供這類後端與這方面的安裝說明,若想啟用此功能,得依說明做安裝,並做好設置。</p><p>三者都開放源碼,除了ScrapBee目前沒有做Chrome版元件,其它兩者都有。以下對三者個別特色做些介紹。</p><h3>WebScrapBook</h3><p><a href="https://github.com/danny0838/webscrapbook/" target="_blank">WebScrapBook</a>是這三款中歷史最悠久且用戶量最多的,提供清楚的英文<a href="https://github.com/danny0838/webscrapbook/wiki/Intro" target="_blank">說明文件</a>。開發工作相當活躍,用戶所提出發現的問題也大多很快有回應。筆者實際上並未使用過所有功能,但至少就自己的使用過程中沒出過重大錯誤,感覺上算穩定可靠。雖然有少數幾個我較常用的ScrapBook的功能它沒有,但它有其他方面不少的功能,然而這也導致選項設定的項目較多樣,建議使用者只先做少數必要的設置即可。</p><p>它的選單界面提供了說明提示(Hint),像“批次擷取所有分頁...”會浮現出這命令在結合使用不同按鍵並做拖曳時可達成不同的作用,算是特殊的操作方式。</p><p>Chrome版所用的側邊欄,是獨立分隔的視窗,與Firefox版的不同,這屬瀏覽器方面的差異,後述的Scrapyard也是如此。</p><p>對於大多數的使用者,如果想在這三款中只挑一種來用,這裡會建議把WebScrapBook列為優先考量,幾個主要理由如下:</p><ul>
<li>足夠的功能</li>
<li>穩定可靠</li>
<li>提供夠清楚的說明文件</li>
<li>開發工作活躍</li>
</ul><h3>ScrapBee</h3><p><a href="https://addons.mozilla.org/zh-TW/firefox/addon/scrapbee/" target="_blank">ScrapBee</a>同樣有清楚的說明,部分是中文。後端的安裝工作相當簡單方便,且設置畫面看來也較WebScrapBook簡潔許多。</p><p>就個人觀點而言,這三者中ScrapBee在功能項目方面與ScrapBook最為接近,像結點遷移以及導出工具都是ScrapBook有提供,而其他二者所缺乏的;或者說是其他二者的功能、作法、格式與ScrapBook的相差較大。</p><p>在操作方面也與ScrapBook最為接近。所謂“接近”,也就是不完全一樣,還是有些差異。不論功能、操作,或是檔案的儲存格式,都與ScrapBook類似,但不完全相同。</p><p>它有幾個行為,個人覺得比較無法適應:</p><ol>
<li>側欄上的選取,只能單選,無法多選。譬如想刪除多個項目時,只能逐一選取刪除,而不能一次選多個來刪除,但這工作可在結點遷移的界面進行。</li>
<li>“保存所有標簽”並不照著分頁的順序。它批次儲存所有分頁內容時是以並行(concurrency)處理的,故相較WebScrapBook做相同工作而言,速度相當快速,只是不照分頁的順序儲存。</li>
</ol><p>實際使用曾出過一次重大錯誤,在結點遷移界面,選定節點在同一本剪貼簿移動,結果卻是被刪除掉。想做這類動作最好還是先複製再刪除會較保險。</p><p>儘管有些許不便,但它仍是這三款中最得我青睞的,尤其它有個我相當注重且常用的功能是其他二者所缺的,即導出HTML檔。這在將整本剪貼簿內容與他人分享時相當有用,無需特別的工具或轉換程序,他人只需透過這個HTML檔即可查看剪貼簿內容。</p><p>從它的<a href="https://github.com/vctfence/scrapbee" target="_blank">代碼倉庫</a>觀察,開發工作並不像WebScrapBook那麼活躍。用戶量也較少。</p><h3>Scrapyard</h3><p><a href="https://gchristensen.github.io/scrapyard/" target="_blank">Scrapyard</a>算是後起之秀,之前注意到它時,它還沒有Chrome版元件,現在已有了,而且功能上也比之前完善許多,感覺相當具有發展潛能。</p><p>從它的<a href="https://github.com/GChristensen/scrapyard/" target="_blank">代碼倉</a>提及的背景介紹看來,它重新改寫ScrapBee並結合了SavePageWE。它還有一些較獨特的功能,像:</p><ul>
<li>雲端書籤儲存:目前支援Dropbox, OneDrive</li>
<li>Check Links:檢查失效或重複的連結</li>
<li>可儲存全站網頁</li>
<li>為書籤標示TODO優先度</li>
<li>提供預設快捷鍵擷取網頁</li>
</ul><p>除此之外,使用界面的美觀度可說是三者中最優的。同樣提供全面詳盡的英文說明。</p><p>設置方面對新用戶而言可能稍嫌繁瑣,同樣老話一句,先做必要的設置即可。</p><p>沒有像“擷取全部分頁”之類的命令按鈕,實際可以選多個分頁,再去點擷取動作的按鈕即可,說明中有寫。用這種多選方式做擷取其實較靈活,類似在檔案總管以滑鼠鍵配合Ctrl或Shift鍵來選擇多個檔案的作法。</p><p>可能發展歷史不長的關係,屬較年輕的專案,注意到它的人較少,用戶量自然也更少。</p><p>雖然只短暫使用過幾回,但對它的後續未來發展蠻期待的,尤其它可結合iShell做CLI操作,以及匯出org-mode格式,其運用的可能性可說相當廣泛,或許以後有時間可以多了解一下。</p><h2>結語</h2><p>本文介紹了三款網頁剪貼簿擴展,三者都提供了全面的說明,各有特色如下:</p><ul>
<li>WebScrapBook有充足的剪貼簿功能,歷史最久,用戶量最多。</li>
<li>ScrapBee在各方面都最接近ScrapBook,使用與設置都最簡單。</li>
<li>Scrapyard界面優異,較多獨特功能,擁有極佳的發展潛能。</li>
</ul><p>最後稍補充上文所提及的幾點問題,及相對應的解決之道:</p><ul>
<li>不方便看英文說明:可善用語言翻譯之類的軟體工具或元件。</li>
<li>想讓ScrapBee照順序擷取全部分頁,或書籤:這可利用RPA (<a href="https://en.wikipedia.org/wiki/Robotic_process_automation" target="_blank">Robotic Process Automation</a>)來解決,自行利用RPA逐頁擷取即可。</li>
</ul><p>
</p><p>關於這兩點,以後有機會再另行撰文介紹。</p>Fygul Hetherhttp://www.blogger.com/profile/14177537617231833647noreply@blogger.com0tag:blogger.com,1999:blog-3601881931050405057.post-67287223718853647772023-07-23T21:00:00.001+08:002023-07-23T21:03:36.167+08:00LibreWolf瀏覽器<div class="e-content entry-content" itemprop="articleBody text" style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">
<h2 style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">概要</h2>
<p style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">平常在筆者電腦上總會裝著幾種不同的瀏覽器,主要是用在不同的使用場景。譬如某些網站會有收集使用者資料的傾向,或是跨站收集資料以方便做一些特殊的分析,對於這類網站,筆者通常會專用某個瀏覽器,並利用一些瀏覽器擴充元件來做些限制以儘量避免不必要的資料暴露;而最近遇到的另一種狀況則是約兩個月前,兩個同是Chromium分支的瀏覽器不約而同都出了問題,行為都有些怪異,只好暫時用Firefox分支的瀏覽器,然後將出問題的軟體刪除,也移除了使用者設定檔,過一陣子再重新安裝回來。總之,有幾種不同瀏覽器有時也可避免掉某些風險或是不方便的時候。</p>
<p style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">Firefox是筆者常用的瀏覽器,也是許多Linux發行版桌面環境預裝的。本文介紹的LibreWolf是Firefox的分支,2020年首次釋出,有Linux,
Windows, macOS桌面版本,目前尚無行動裝置版本。以下簡單介紹一下LibreWolf的功能特色與幾個使用上的提醒與個人建議。</p><a name='more'></a><p style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);"></p>
<h2 style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">功能與特色</h2>
<p style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">本小節內容主要來自<a href="https://librewolf.net/" style="--link-color-active: rgb(246, 246, 85) !important; --link-color-hover: rgb(248, 248, 114) !important; --link-color: rgb(246, 246, 85) !important; --original-background-color: body-trans; --original-color: rgb(0, 0, 0); --visited-color-active: rgb(246, 193, 85) !important; --visited-color-hover: rgb(248, 203, 114) !important; --visited-color: rgb(246, 193, 85) !important;" target="_blank">LibreWolf</a>官方網頁英文內容的中譯。</p>
<h3 style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">LibreWolf是什麼?</h3>
<ul style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">
<li style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">LibreWolf專案是Firefox的定制獨立版本,其主要目標是隱私、安全和用戶自由。</li>
<li style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">LibreWolf旨在增強對追蹤和指紋識別技術的保護,同時還包括些許安全改善。這是通過我們隱私和安全導向的設置和補丁來實現。LibreWolf還旨在消除所有遙測、數據收集和騷擾,並禁用像DRM的反自由功能。</li>
</ul>
<h3 style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">主要特色</h3>
<ul style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">
<li style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">無遙測(Telemetry):沒有實驗、廣告軟件、煩人或不必要的干擾。</li>
<li style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">隱密搜索:注重隱私的搜索提供者:DuckDuckGo, Searx, Qwant等。</li>
<li style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">內含廣告阻擋:為了您的方便,已內含uBlock Origin。</li>
<li style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">強化隱密:經過強化,以最大限度地保護隱私,又不犧牲可用性。</li>
<li style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">快速更新:LibreWolf始終基於最新的Firefox穩定源碼構建,具有最新的安全性和功能以及穩定性。</li>
<li style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">開放原始碼:每個人皆可參與LibreWolf的開發。</li>
</ul>
<p style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">更詳細情形可見官網上的完整<a href="https://librewolf.net/docs/features" style="--link-color-active: rgb(246, 246, 85) !important; --link-color-hover: rgb(248, 248, 114) !important; --link-color: rgb(246, 246, 85) !important; --original-background-color: body-trans; --original-color: rgb(0, 0, 0); --visited-color-active: rgb(246, 193, 85) !important; --visited-color-hover: rgb(248, 203, 114) !important; --visited-color: rgb(246, 193, 85) !important;" target="_blank">功能清單</a>。</p>
<p style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">簡單的說,LibreWolf擁有Firefox絕大多數的功能,但移除了原有的遙測Telemetry(意即會回傳某些資料以供分析或研究)功能,並增加一些隱私與安全方面的改善。預設也關閉一些功能以強化安全與隱私,而這些可以在設置中做調整以符合用戶的個人需求。</p>
<h2 style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">使用提醒與個人建議</h2>
<p style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">筆者建議不論使用何種瀏覽器,最好先做些必要的設置,無腦使用並不是好的行為與習慣。然而調整設置時又會涉及到軟體是否提供清楚的說明。以下就以幾個主題分別做這方面的討論。</p>
<h3 style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">軟體界面與說明文件的中文化</h3>
<p style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">LibreWolf軟體界面絕大部分與Firefox一樣有著相當完善的中文化,然而有小部分LibreWolf特有的,像設置畫面有一個LibreWolf分頁,這是LibreWolf把一部分設置項目特別集中移過來這分頁的,這類目前沒有中文化。這對於不熟悉英文的用戶可能不太方便,所幸的是這類情況並不多,而且並非所有人都有必要去動這些設置,多半採預設值即可。</p>
<p style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">至於軟體的說明,官方網站提供了相當清楚的英文說明,若需要中文化,可借助Google翻譯等線上服務,瀏覽器也有這類協助翻譯的擴充元件可用。而許多與Firefox相通的功能,其實也可以參考Firefox官網上的中文說明。譬如在LibreWolf某設置頁上某個項目有個說明按鈕可連線打開LibreWolf官網上該項目的英文說明,那麼看一下Firefox相對應的設置頁與項目,順著其說明鈕通常也可看到在Firefox官網上該設置項目的中文說明。</p>
<h3 style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">調整設置以符合需求</h3>
<p style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">LibreWolf在設置畫面的“<code style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">隱私權與安全性</code>”分頁預設是啟用了“<code style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">關閉 LibreWolf 時清除 Cookie 與網站資料</code>”,這對於只是偶而短暫瀏覽某網站而不想存記錄時是相當合適的,然而若想經常登錄並使用某網站可能就不是很方便了。</p>
<p style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">使用前最好先檢查並調整必要的設置以符合使用需求。這裡再強調一下,僅調整必要的設置即可。對於一般用戶而言,完整設置項目太多太雜了,而必要的設置項目可能就少數幾項而已,較易下手;至於其他暫時用不著或看不懂的,維持預設值通常會是合適的作法。</p>
<h3 style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">搜尋引擎</h3>
<p style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">多數人可能習慣使用Google的搜尋引擎,或許會用不慣LibreWolf預設的幾個搜尋引擎。LibreWolf有提供自行加入搜尋引擎的作法,可加入Google的搜尋引擎。不過對筆者而言,既然把LibreWolf專門使用在注重隱私的用途上,是不會這麼做的,另外拿其他瀏覽器來做Google搜尋便可。至於讀者要採取怎麼的作法,則是要考量己身的情況與需求來做決定。</p>
<h2 style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">結語</h2>
<p style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">瞭解了LibreWolf的特點後,讀者若想使用,或許可以從它的特點出發來思考一下將其用在怎麼的用途較符合本身的使用需要。它特別適合於注重隱私與安全的使用情境;如果不是這麼注重這方面,或許其他用得順手的瀏覽器就可以了。對筆者而言,用它來專門對付某些刁鑽古怪的網站,最合適不過了。</p></div>Fygul Hetherhttp://www.blogger.com/profile/14177537617231833647noreply@blogger.com0tag:blogger.com,1999:blog-3601881931050405057.post-83535448634405322402023-06-22T22:11:00.003+08:002023-06-22T22:25:31.490+08:00rsync daemon mode<h2>概要</h2>
<p>之前寫的《<a href="http://fygul.blogspot.com/2020/10/rsync.html" target="_blank">rsync使用簡介</a>》為避免篇幅過長,略過daemon mode的介紹,本文就這部分做點介紹。</p>
<p>簡單解釋rsync daemon mode運行方式,並以一簡單使用範例展示服務器端的設置與用戶端連線方式。展示環境為Kubuntu
22.04,以下範例中所用的命令為了方便說明而有所簡化,若想複製使用,請依實際情況做適當調整,如其中的帳號名稱或密碼,再者,有些設置檔必須以管理員權限才能編輯。<span></span></p><a name='more'></a><p></p>
<h2>rsync daemon mode運行方式</h2>
<p>不同於使用remote shell做連線的方式,遠端機器(rsync server)以daemon mode運行,rsync daemon預設監聽TCP port 873,用戶端以 <code>rsync://</code> 連線遠端機器。</p>
<p>此情況下,rsync server必須先做些設置,並以daemon mode啟動,以接受用戶端從TCP連線。此時,除非特地採取額外的加密措施,否則資料傳輸是不加密的。SSL/TLS Daemon Setup涉及額外的proxy來處理加密,這部分本文不討論。</p>
<p>在服務器的設置中,可以指定哪個資料夾被同步、守聽的通訊埠號、位址、最多連線數……,以及哪些用戶或主機可連線進來。假定有兩部Web
server運行相同的靜態網頁內容,也就是一部當主要服務器,而另一部當鏡像站,可在主要服務器上設置好rsync
server,然後提供給鏡像站同步資料過去即可。一些FTP站的多個鏡像站也是利用這種方式達成的。</p>
<p>有幾種執行 rsync daemon 的方式,像 <code>rsync --daemon</code> 做為 stand-alone daemon;本文後面則採用 <code>systemctl</code> 設置為自啟動。</p>
<h2>使用範例</h2>
<p>這裡以一個簡單情景當使用例來做說明,即類似前述主站與其鏡像站之間的資料同步。此時主站設置成rsync server,而鏡像站即用戶端,這裡為方便說明僅以一個鏡像站為例,實際上可設多個。</p>
<h3>服務器端設置</h3>
<p>設置檔是 <code>/etc/rsyncd.conf</code> ,其內容大致可區分成整體Global與模組Module兩大部分,一個簡單例子如下:</p>
<pre><code class="ini">
port = 873
address = 192.168.1.122
max connections = 10
[webdata]
comment = for replication of web site
path = /var/www/data/
secrets file = /etc/rsyncd.secrets
</code></pre>
<p>上述 <code>[webdata]</code> 即模組的名稱,底下有幾項參數設定。而更前面的則屬於整體Globle設定。整體設定那部分也可以用 <code>[global]</code> 模組名稱來標示設置區段的開頭。本例只一個模組,必要時可有多個。</p>
<p>可用的模組參數有不少項目,以下只是其中幾項:</p>
<pre><code class="plaintext">
comment 註釋,即描述文字
path 供資料同步的目錄路徑。每個模組都必須提供這項
max connections 最大連線數
read only 是否唯讀
secrets file 存放可連線用戶名稱與密碼的檔案
hosts allow 可連線主機
hosts deny 拒絕連線的主機
dont compress 哪些檔案傳輸時不壓縮
</code></pre>
<p>視實際使用情形,模組參數也可使用在整體設定的區段中。</p>
<p>依以上述例子,要新增編輯 <code>/etc/rsyncd.secrets</code> ,內放連線用戶名稱與密碼,如:</p>
<p><code>myname:mypassword</code></p>
<p>存檔後調整該檔案僅root可讀寫,必要時調整擁有權給root:</p>
<pre><code class="bash">
sudo chmod 600 /etc/rsyncd.secrets
sudo chown root.root /etc/rsyncd.secrets
</code></pre>
<p>這樣,一個簡單的設置基本完成了。再來,記得設置防火牆,啟動rsync並設置自啟動:</p>
<pre><code class="bash">
sudo ufw allow 873/tcp
sudo systemctl start rsync
sudo systemctl enable rsync
</code></pre>
<p>檢視目前執行的狀態:</p>
<pre><code class="bash">
systemctl status rsync
</code></pre>
<h3>用戶端連線</h3>
<p>由於服務器端設置了 secrets file ,這裡要用 <code>--password-file=FILE</code> 參數指定密碼檔,以便把密碼傳給主機。故先產生好密碼檔,例如:</p>
<pre><code class="bash">
sudo vim /root/secrets
</code></pre>
<p>其中僅在第一行存放密碼:</p>
<p><code>mypassword</code></p>
<p>調整成僅root可讀寫,必要時調整擁有權給root:</p>
<pre><code class="bash">
sudo chmod 600 /root/secrets
sudo chown root.root /root/secrets
</code></pre>
<p>此例在用戶端本機同步過來的資料放 /var/www/data/ ,依慣例 /var/www 的擁有權會設給 www-data
;再者,若使用目前帳號執行 rsync 把檔案放置其中時,為避免權限因素導致無法寫入,可將當前帳號 fygul 加入 www-data
群組,並設置群組可寫入:</p>
<pre><code class="bash">
sudo chown www-data:www-data -R /var/www
sudo addgroup fygul www-data
sudo chmod g+w -R /var/www
</code></pre>
<p>再來要執行rsync了,看一下rsync daemon的命令型式:</p>
<pre><code class="plaintext">
Pull:
rsync [OPTION...] [USER@]HOST::SRC... [DEST]
rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST]
Push:
rsync [OPTION...] SRC... [USER@]HOST::DEST
rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST)
</code></pre>
<p>此例用戶端所用的命令如下,其中的遠端機器ip為192.168.1.122:</p>
<pre><code class="bash">
rsync -av --delete --password-file=/root/secrets myname@192.168.1.122::webdata /var/www/data/
</code></pre>
<p>注意與rsync daemon連線時, <code>USER@HOST::SRC</code> 這段是用雙冒號。</p>
<p>或者用 <code>rsync://</code> 則是:</p>
<pre><code class="bash">
rsync -av --delete --password-file=/root/secrets rsync://myname@192.168.1.122/webdata /var/www/data/
</code></pre>
<p>讓系統排程式執行上述命令,即可在指定時間更新鏡像站內容。</p>
<h3>其他問題</h3>
<p>上述以--password-file存取/root/secrets,可以不必用到sudo。但如果有其他原因必須在系統排程,或在腳本程式中以sudo方式執行rsync,又要如何避免輸入sudo密碼呢?</p>
<p>假定要以上述帳號執行 <code>sudo rsync</code> ,又要避免打密碼,那得在 /etc/sudoers 添加如下文字,讓該帳號執行 <code>sudo rsync</code> 時不問密碼:</p>
<p><code>fygul ALL = NOPASSWD: /usr/bin/rsync</code></p>
<p>實際操作時別直接以編輯器修改該檔,而是要透過 <code>sudo visudo</code> ,它會以 <code>vi</code> 開啟該檔供修改,但在存檔前會做些檢查,減少出錯機會。</p>
<p>※較安全的作法是另外設個本機帳號專門做此類同步資料的工作,並限制此帳號不可用ssh做遠端登入。</p>
<p>再來利用 <code>--rsync-path</code> 指定以該帳號執行 rsync ,而不是把sudo放在整個命令的開頭,像:</p>
<p><code>rsync --rsync-path="sudo -u fygul rsync" ...後略</code></p>
<p>如果不是用在命令腳本,而是在命令行以目前帳號直接執行時就不指定帳號,改為 <code>--rsync-path="sudo rsync"</code></p>
<p>在此用法,還是有可能遇到同步過來的資料在寫入檔案或目錄出現權限不足的問題,那就要設法調整權限以利順利寫入。</p>
<h2>結語</h2>
<p>本文以一個簡單使用例說明如何設置並使用rsync daemon,這種運行方式,適合像鏡像站資料同步這類可做簡單的身分驗證,而資料傳輸時無需加密的使用情況。</p>
<p>若是有資料傳輸必須加密的需求時,主機端得另行安裝reverse proxy來處理加密工作,這方面待以後有機會再另寫一篇。</p>
<p>為避免篇幅過長,本文只提供簡要的說明,較詳細資訊可查閱後述參考與連結。</p>
<h2>參考與連結</h2>
<ol><li><a href="https://manpages.ubuntu.com/manpages/jammy/man5/rsyncd.conf.5.html" target="_blank">Ubuntu Manpage: rsyncd.conf - configuration file for rsync in daemon mode</a></li><li><a href="https://linuxconfig.org/how-to-setup-the-rsync-daemon-on-linux" target="_blank">How to setup the rsync daemon on Linux</a></li><li><a href="https://blog.programster.org/ubuntu-set-up-rsync-server" target="_blank">Ubuntu - Set Up Rsync Server</a></li><li><a href="https://stackoverflow.com/questions/48994882/rsync-content-as-sudo-user" target="_blank">rsync content as sudo user</a></li><li><a href="https://realtechtalk.com/rsync_run_as_root_sudo_without_password-1888-articles" target="_blank">rsync run as root sudo without password</a></li><li><a href="https://manpages.ubuntu.com/manpages/jammy/en/man5/sudoers.5.html" target="_blank">Ubuntu Manpage: sudoers — default sudo security policy plugin</a></li></ol>Fygul Hetherhttp://www.blogger.com/profile/14177537617231833647noreply@blogger.com0tag:blogger.com,1999:blog-3601881931050405057.post-34796733792862580592023-05-21T22:27:00.004+08:002023-05-21T22:37:44.637+08:00Flatpak簡易使用<div class="e-content entry-content" itemprop="articleBody text">
<h2>概要</h2>
<p>之前簡單介紹過<a href="http://fygul.blogspot.com/2020/01/appimage-flatpak.html" target="_blank">Flatpak</a>及其安裝方法,但對軟體更新的作法沒有太多描述。</p>
<p>本文以一般用戶的角度介紹如何使用 <code>flatpak</code> 命令行,以進行軟體的安裝、更新、移除,與加入、移除遠端軟體庫等一般相關工作[1]。不涉及Flatpak軟體的打包工作,這類可參考官方說明文件。至於Flatpak基礎介紹可見前述連結。</p>
<p>許多Linux發行版所附的軟體管理圖形工具會整合Flatpak,在此情況下可利用圖形工具來操作Flatpak,不必動用本文所述的命令行。</p><a name='more'></a><p></p>
<h2>開始之前</h2>
<p>在正式開始介紹命令的用法之前,先做幾點相關說明。</p>
<h3>應用程式與執行時期環境</h3>
<p>應用程式,即提供給使用者的軟體,如 <code>Gimp</code> ,而執行時期環境,或簡稱執行時期(Runtimes)則是軟體所依賴的執行環境,如 <code>GTK</code> ,或 <code>KDE</code> 。</p>
<h3>識別字</h3>
<p>Flatpak給應用程式與執行時期的識別字串形式像 <code>com.company.App</code> ,如 <code>OBS Studio</code> 是 <code>com.obsproject.Studio</code> 。</p>
<p>有必要時,還可指明CPU架構、分支,像 <code>com.company.App/i386/stable</code> ,後二者也可省略其一。</p>
<h3>作用於全系統或僅目前用戶</h3>
<p>flatpak 在管理軟體或軟體庫時若指定了 <code>--user</code> 選項時其作用僅對該用戶有效(使用者層級),否則是對全系統有效(系統層級)。除非有特別的用途,如測試,不然通常不指定 <code>--user</code> 選項。</p>
<h2>flatpak常用命令</h2>
<p><code>flatpak --help</code> 會顯示完整的命令用法,且依作用做了相當分類,這裡只介紹幾個較常用的。</p>
<h3>管理遠端軟體庫</h3>
<p>若依官方說明設定好 flatpak ,也會加入官方軟體庫,若沒出現錯誤訊息[2]的話,就可從官方軟體庫來安裝軟體。若想加入非官方的軟體庫,努力搜尋一下也可找得到[3]。這小節談論如何列示、加入或移除軟體庫。</p>
<p>列示系統中已設置好的遠端軟體庫:</p>
<p><code>$ flatpak remotes</code></p>
<p>加入一遠端軟體庫,如:</p>
<p><code>$ flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo</code></p>
<p>這行與官方說明頁上加入軟體庫的命令是一樣的。此處的 <code>flathub</code> 是給遠端軟體庫命名的本地名稱(local name),URL指到遠端的 <code>.flatpakrepo</code> 檔案,其中包含了遠端軟體庫的詳情與GPG金鑰。</p>
<p>移除一遠端軟體庫,如:</p>
<p><code>$ flatpak remote-delete flathub</code></p>此例中, <code>flathub</code> 是遠端庫的本地名稱。
<h3>管理安裝的應用程式及執行時期</h3>
<p>尋找想要安裝的軟體,如:</p>
<p><code>$ flatpak search gimp</code></p>
<p>會從已設置的遠端庫中尋找與 <code>gimp</code> 有關的軟體。 <a href="https://flathub.org/" target="_blank">Flathub</a> 頁面也有搜索應用的功能。</p>
<p>安裝軟體的方式,在 Flathub 上的軟體頁面也會寫,像:</p>
<p><code>$ flatpak install flathub org.gimp.GIMP</code></p>
<p><code>flatpak install</code> 還有另外兩種形式,平常用不著。</p>
<p>列示已安裝的軟體與執行期:</p>
<p><code>$ flatpak list</code></p>
<p>若加 <code>--app</code> 選項則只列示應用軟體。</p>
<p>顯示已安裝程式或執行時期環境的資訊:</p>
<p><code>$ flatpak info NAME</code></p>
<p>這裡的NAME指軟體或執行時期的識別。</p>
<p>移除未被已安裝軟體使用到的runtimes與extensions,這些確定是用不著的東西:</p>
<p><code>$ flatpak uninstall --unused</code></p>
<p>移除軟體或執行時期,如:</p>
<p><code>$ flatpak uninstall NAME</code></p>
<p>若想同時刪除 <code>~/.var/app</code> 中的軟體資料,可用 <code>--delete-data</code> 選項。</p>
<p>更新所有軟體與執行時期:</p>
<p><code>$ flatpak update</code></p>
<p>也可以只更新某一軟體或執行時間,將其識別加在後面即可。在更新之前建議先移除前述用不著的東西,不然這些用不到的東西也會跟著更新。</p>
<p>顯示歷史變更記錄:</p>
<p><code>$ flatpak history</code></p>
<h3>其他</h3>
<p>在 Flathub 上的軟體頁面也會寫如何執行軟體,像:</p>
<p><code>$ flatpak run org.gimp.GIMP</code></p>
<p>但在有做好桌面整合的情況下,使用應用程式選單來執行即可。</p>
<p>最後,若是安裝的東西有什麼問題,可試試修理一下:</p>
<p><code>$ flatpak repair</code></p>
<h2>結語</h2>
<p>以上 <code>flatpak</code> 幾個一般較常用的命令不難記,大致上已可應付日常使用,必要時再以 <code>--help</code> 選項或是官方說明頁面來查看較詳細說明即可。</p>
<h2>參考與連結</h2>
<ol><li><a href="https://docs.flatpak.org/en/latest/using-flatpak.html" target="_blank">Using Flatpak</a></li><li><a href="http://fygul.blogspot.com/2022/06/flatpak-error.html" target="_blank">Flatpak錯誤訊息</a></li><li><a href="https://www.reddit.com/r/flatpak/comments/tv3fnz/is_flathub_the_only_flatpak_repository/" target="_blank">Is flathub the only flatpak repository?</a></li></ol>
</div>Fygul Hetherhttp://www.blogger.com/profile/14177537617231833647noreply@blogger.com0tag:blogger.com,1999:blog-3601881931050405057.post-85859454861686605532023-04-22T22:59:00.001+08:002023-04-22T22:59:18.077+08:00Windows 10的sedlauncher.exe<div class="e-content entry-content" itemprop="articleBody text">
<h2>概要</h2>
<p>數月前,手邊一部舊機器裝Windows 10的硬碟換到新機器上啟動,這個Windows
10的系統已很少使用,這回並不是在新機器首次啟動,然而發現硬碟一直轉不停,等了好久等到讓我感到不耐煩,決定打開工作管理員看看到底又是哪個奇葩程序做怪。從老半天才反應過來的工作管理員中發現原兇
<code>sedlauncher.exe</code> ,隨手搜尋一下就發現不少描述相同問題的文章,挑了其中兩篇[1], [2]稍看一下,腦中很快做了簡單結論,對於自己的使用情況,將該服務關閉就可結案。以下簡單談一下作法。<span></span></p><a name='more'></a><p></p>
<h2>簡單的解決方式</h2>
<p>簡單說 <code>sedlauncher.exe</code> 是 <code>Windows Remediation Service</code> 的一部分,作用是可保護並加快Windows 10的更新流程;然而副作用是可能會讓硬碟忙到暈頭轉向,在它清醒過來之前,幾乎啥事也幹不了。如果遇到前述提到的問題,可以有幾種不同的解決方法,本人是採取最簡單的方式,以管理員的權限,打開服務管理員,從中找到 <code>Windows Remediation Service</code> ,將其禁用。</p>
<p>此法實屬不顧一切後果的作法,雖然可以安心使用,但要謹記風險自負。😜</p>
<p>此問題也許日後隨著系統的更新會被修復掉,也可能不會;也可能修復後卻引來其他問題;也或許以後換新版後此東西沒了,問題也自然解決了。</p>
<p>自己已不太使用Windows了,久久開一次還是難免要中機關,之前的還有 <a href="http://fygul.blogspot.com/2020/12/mscorsvw-exe.html" target="_blank">mscorsvw.exe</a> ,以後大概還是會有遇襲的機會,所以也不用感到太意外或驚奇,可視為使用Windows的日常。</p>
<h2>參考與連結</h2>
<ol><li>https://www.auslogics.com/en/articles/sedlauncher-exe-high-disk-usage/</li><li>https://softwarekeep.com/help-center/how-to-fix-sedlauncher-exe-full-disk-usage-on-windows-10</li></ol>
</div>Fygul Hetherhttp://www.blogger.com/profile/14177537617231833647noreply@blogger.com0tag:blogger.com,1999:blog-3601881931050405057.post-88912644850862072352023-03-26T23:40:00.010+08:002023-08-20T21:33:33.182+08:00安裝Leo Editor<h2 style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">概要</h2>
<p style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">2018年曾經短暫嘗試使用Leo
Editor,但當時的版本在Linux上安裝並不算很方便,再者感覺使用上有些複雜,手邊事多也就漸漸將它淡忘了。前一陣子因某些因素,開始重拾使用,逐漸體會到它的強大威力。然而,在Kubuntu
22.04上使用時有些問題,像無法使用中文輸入法,這點令人感到不方便,只好採用某種變通方法,本文後面會稍提。</p>
<p style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">在看過Leo官方網站提供的安裝說明之後,決定稍做調整,以Python虛擬環境來安裝使用應該會是較好的方式,本文以下主要記錄自己的安裝方法。對於一般用戶而言,安裝Leo並不是項容易的工作,這裡並不推薦、鼓勵一般用戶使用Leo;不過如果是進階用戶則另當別論,如果有興趣,本末的參考與連結可關注。</p>
<p style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">本文並非Leo Editor的教學文,而是在使用Leo時的一些個人記錄。</p><a name='more'></a><p style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);"></p>
<h2 style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">Leo Editor簡介</h2>
<p style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);"><a href="https://leo-editor.github.io/leo-editor/" style="--link-color-active: rgb(246, 246, 85) !important; --link-color-hover: rgb(248, 248, 114) !important; --link-color: rgb(246, 246, 85) !important; --original-background-color: body-trans; --original-color: rgb(0, 0, 0); --visited-color-active: rgb(246, 193, 85) !important; --visited-color-hover: rgb(248, 203, 114) !important; --visited-color: rgb(246, 193, 85) !important;" target="_blank">Leo editor</a>(或稱為Leo)[1] 不是個簡單的編輯器,除了可當<a href="https://zh.wikipedia.org/wiki/%E9%9B%86%E6%88%90%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83" style="--link-color-active: rgb(246, 246, 85) !important; --link-color-hover: rgb(248, 248, 114) !important; --link-color: rgb(246, 246, 85) !important; --original-background-color: body-trans; --original-color: rgb(0, 0, 0); --visited-color-active: rgb(246, 193, 85) !important; --visited-color-hover: rgb(248, 203, 114) !important; --visited-color: rgb(246, 193, 85) !important;" target="_blank">IDE</a>, <a href="https://zh.wikipedia.org/wiki/%E4%B8%AA%E4%BA%BA%E4%BF%A1%E6%81%AF%E7%AE%A1%E7%90%86%E7%B3%BB%E7%BB%9F" style="--link-color-active: rgb(246, 246, 85) !important; --link-color-hover: rgb(248, 248, 114) !important; --link-color: rgb(246, 246, 85) !important; --original-background-color: body-trans; --original-color: rgb(0, 0, 0); --visited-color-active: rgb(246, 193, 85) !important; --visited-color-hover: rgb(248, 203, 114) !important; --visited-color: rgb(246, 193, 85) !important;" target="_blank">PIM</a>,也是Outliner
[2],若是能換個呈現方式,則像是心智圖(真的有人做這類轉換腳本)。千萬別僅僅當個一般“平面式”文字編輯器使用,而要有階層式、樹狀結構式的立體化思考來看待它。如果想拿它當IDE,可稍了解一下Literate
programming [3]的概念。</p>
<p style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">Leo的可擴充性在某種程度上有點類似<a href="https://zh.wikipedia.org/zh-tw/Emacs" style="--link-color-active: rgb(246, 246, 85) !important; --link-color-hover: rgb(248, 248, 114) !important; --link-color: rgb(246, 246, 85) !important; --original-background-color: body-trans; --original-color: rgb(0, 0, 0); --visited-color-active: rgb(246, 193, 85) !important; --visited-color-hover: rgb(248, 203, 114) !important; --visited-color: rgb(246, 193, 85) !important;" target="_blank">Emacs</a>,但用Python而不是LISP。</p>
<h2 style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">安裝Leo Editor</h2>
<p style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">除了官方網站提供的數種安裝方式,還有其他途逕,像<a href="https://snapcraft.io/leo-editor" style="--link-color-active: rgb(246, 246, 85) !important; --link-color-hover: rgb(248, 248, 114) !important; --link-color: rgb(246, 246, 85) !important; --original-background-color: body-trans; --original-color: rgb(0, 0, 0); --visited-color-active: rgb(246, 193, 85) !important; --visited-color-hover: rgb(248, 203, 114) !important; --visited-color: rgb(246, 193, 85) !important;" target="_blank">snap</a>,可惜安裝的是舊版,實測也無法執行。</p>
<p style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">這裡參酌了官方網頁的說明,直接從源碼倉拉源代碼回來,並以 <code style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">pipenv</code> 建立Python虛擬環境的方式來執行Leo。</p>
<p style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">※所以要先把 <code style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">git</code> 與 <code style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">pipenv</code> 裝好。若對 <code style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">pipenv</code> 使用不甚了解,可參考<a href="http://fygul.blogspot.com/2019/09/pipenv.html" style="--link-color-active: rgb(246, 246, 85) !important; --link-color-hover: rgb(248, 248, 114) !important; --link-color: rgb(246, 246, 85) !important; --original-background-color: body-trans; --original-color: rgb(0, 0, 0); --visited-color-active: rgb(246, 193, 85) !important; --visited-color-hover: rgb(248, 203, 114) !important; --visited-color: rgb(246, 193, 85) !important;" target="_blank">pipenv簡單使用</a>。</p>
<p style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">個人認為這樣的作法會比較理想,不會干擾到系統用的Python環境,而且往後要升級源代碼也很容易。</p>
<p style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">這裡假定將Leo安裝在 <code style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">~/Apps/leo-editor/</code> :</p>
<pre style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);"><code class="bash" style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">
cd ~/Apps/
git clone --depth=500 --no-single-branch https://github.com/leo-editor/leo-editor
cd leo-editor/
git checkout devel
pipenv --python 3.10.6 install -e .
</code></pre>
<p style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">這裡注意到,若在 <code style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">leo-editor/</code> 目錄中重複執行了 <code style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">pipenv install</code> 的動作(也就是產生了重複冗餘的同名虛擬環境),會出差錯,記得以 <code style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">pipenv --venv</code> 檢查一下虛擬環境的存放位置,再到其上層目錄看是否有他類似的重複名稱,將重複的都清除掉再重新安裝。</p>
<p style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">如果安裝順利沒問題,啟動Leo:</p>
<pre style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);"><code class="bash" style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">
pipenv run ./launchLeo.py
</code></pre>
<p style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">沒問題的話,建立一個shell腳本,以方便以後啟動Leo,並掛在啟動選單上,作法像:</p>
<pre style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);"><code class="bash" style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">
vim start-leo.sh
chmod +x start-leo.sh
</code></pre>
<p style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);"><code style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">start-leo.sh</code> 的內容像:</p>
<pre style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);"><code class="bash" style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">
#!/usr/bin/bash
cd ~/Apps/leo-editor
pipenv run ./launchLeo.py
</code></pre>
<p style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">再來把上述腳本加到啟動選單上。打開KDE選單編輯器,為Leo新增項目,名稱欄填 <code style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">Leo Editor</code> ,指令欄則指到 <code style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">start-leo.sh</code> ,完成後記得儲存。</p>
<p style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">往後若想升級Leo源代碼:</p>
<pre style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);"><code class="bash" style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">
cd ~/Apps/leo-editor/
git pull
</code></pre>
<h2 style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">疑難雜症</h2>
<p style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">目前發現有幾個小問題:</p>
<ol style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);"><li style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">無法使用中文輸入法,有幾種變通方式:<ol style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);"><li style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">如果是Vim用戶,可使用<a href="http://fygul.blogspot.com/2020/07/vim-anywhere.html" style="--link-color-active: rgb(246, 246, 85) !important; --link-color-hover: rgb(248, 248, 114) !important; --link-color: rgb(246, 246, 85) !important; --original-background-color: body-trans; --original-color: rgb(0, 0, 0); --visited-color-active: rgb(246, 193, 85) !important; --visited-color-hover: rgb(248, 203, 114) !important; --visited-color: rgb(246, 193, 85) !important;" target="_blank">vim-anywhere</a>
</li><li style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">調整使用其他編輯器來編輯節點。這點可參考Leo自帶的Help選單中, <code style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">Open Tutorial Outlines</code> --> <code style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">Open Quickstart-Leo</code>,其中的<ul style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);"><li style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">Configuration (enabling plugins etc.)<ul style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);"><li style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">Using your favorite editor to edit nodes</li></ul>
</li></ul>
</li><li style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">先在其他文字編輯器上輸入中文,再複製/貼上到Leo</li></ol>
</li><li style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">有些文件在viewrendered pane無法正確渲染效果。</li></ol>
<p style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">如果對此不滿意的話,也可以考慮其他類似的Leo實現,像LeoInteg [4]或 leojs [5],不同的是裝在VS Code上,而且操作與功能上會有些差異。</p>
<h2 style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">結語</h2>
<p style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">用了Leo一陣子漸漸感受到其強大的功能與設計,雖然好用,但想立刻上手對於一般用戶可能不是那麼容易,尤其安裝工作可能就會嚇退一堆人。如果已有 <code style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">git</code> 與 <code style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">pipenv</code> ,採用本文建議的安裝方式就顯得容易許多,同時還有幾項優點,像不干擾到系統環境,還有升級新版容易。</p>
<p style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">最後,額外幾點給初接觸Leo的人參考:</p>
<ul style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);"><li style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">短時間學好如何使用Leo也許不容易,官方說明文件得花點時間去消化,而Leo本身自帶的Help就有相當豐富的內容與範例,像 <code style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">Quickstart.leo</code>。再者以上述 LeoInteg 為例,專案中的 LeoInteg.leo 就是主角(Leo文件副檔名為 <code style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">.leo</code> ,儲存格式其實就是XML),專案中多數的程式與說明文件都在其中編寫,存檔時Leo就會輸出相對應的 <code style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">.py</code>, <code style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">.md</code>, <code style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">.json</code> ……檔案。稍花點時間觀摩一下這些Leo文件,有助於在概觀上對Leo的了解。</li><li style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">初使用時也許想調整Leo使用暗主題,<a href="http://leoeditor.com/FAQ.html#how-do-i-enable-a-theme-leo-file" style="--link-color-active: rgb(246, 246, 85) !important; --link-color-hover: rgb(248, 248, 114) !important; --link-color: rgb(246, 246, 85) !important; --original-background-color: body-trans; --original-color: rgb(0, 0, 0); --visited-color-active: rgb(246, 193, 85) !important; --visited-color-hover: rgb(248, 203, 114) !important; --visited-color: rgb(246, 193, 85) !important;" target="_blank">官方FAQ</a>提供了方法。Leo的<a href="http://leoeditor.com/customizing.html#using-settings" style="--link-color-active: rgb(246, 246, 85) !important; --link-color-hover: rgb(248, 248, 114) !important; --link-color: rgb(246, 246, 85) !important; --original-background-color: body-trans; --original-color: rgb(0, 0, 0); --visited-color-active: rgb(246, 193, 85) !important; --visited-color-hover: rgb(248, 203, 114) !important; --visited-color: rgb(246, 193, 85) !important;" target="_blank">設置</a>大致有幾類,換主題時只要更動Per-user settings (<code style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">myLeoSettings.leo</code>)即可,不知如何下手還可以從 Per-installation settings (<code style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">LeoSettings.leo</code>)複製設置節點過來。從Leo的命令選單 <code style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">Settings</code> 即可打開這兩個檔案。在 <code style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">LeoSettings.leo</code> 找到 <code style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">@settings</code> 節點並將其展開,第一個子節點就是主題設置,複製該節點,貼到 <code style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">myLeoSettings.leo</code> 相對應的位置上,然後把原有的 <code style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">@string theme-name = None</code> 改成像 <code style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">@string theme-name = BreezeDarkTheme</code> ,儲存,下回開Leo會換上暗主題。其實該節點右邊的 body pane 也有說明文字。</li></ul>
<h2 style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">參考與連結</h2>
<ol style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);"><li style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">https://en.wikipedia.org/wiki/Leo_(text_editor)</li><li style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">https://en.wikipedia.org/wiki/Outliner</li><li style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">https://en.wikipedia.org/wiki/Literate_programming</li><li style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">https://github.com/boltex/leointeg/blob/master/CONTRIBUTING.md</li><li style="--original-background-color: body-trans; --original-color: rgb(0, 0, 0);">https://github.com/boltex/leojs</li></ol>Fygul Hetherhttp://www.blogger.com/profile/14177537617231833647noreply@blogger.com0tag:blogger.com,1999:blog-3601881931050405057.post-50735682926914669282023-02-12T23:31:00.003+08:002023-02-12T23:32:08.501+08:00以OBS Studio做螢幕錄影<h2>概要</h2>
<p>之前稍談過<a href="http://fygul.blogspot.com/2023/01/apowerrec.html" target="_blank">手機螢幕錄影</a>,至於電腦螢幕錄影的軟體也提過幾個,只是之前談的幾個在Linux桌面環境並不算很理想,尤其在Wayland上還可能會有問題。這回來談談如何使用許多人做直播時所用的軟體OBS
Studio來做電腦螢幕錄影。本文所用環境Kubuntu 22.04,使用單一螢幕,OBS Studio
29.0.2,文中軟體使用界面上的中文翻譯用詞可能會隨不同版號會有些許差異。<span></span></p><a name='more'></a><p></p>
<h2>OBS Studio簡介</h2>
<p><a href="https://obsproject.com/" target="_blank">OBS Studio</a> (Open Broadcaster
Software)是開放源碼軟體,可用來做錄影與直播(即時)串流,支持Linux,
macOS與Windows,有多國語言使用界面,是相當流行的直播與錄影軟體。支持的直播平台包括YouTube, Twitch,
Instagram與Facebook。</p>
<p>以下簡單談談利用OBS Studio做螢幕錄影,此作法簡單的說,其實就是錄製視訊時把影像輸入的來源設成擷取電腦螢幕的畫面,並把錄製的視訊存檔。</p>
<p>在使用之前,得先把OBS Studio安裝好。</p>
<h2>安裝OBS Studio</h2>
<p>OBS Studio官網上提供了三大作業系統平台上的安裝方法或是安裝檔,Ubuntu有<a href="https://obsproject.com/download#linux" target="_blank">兩種方式</a>供選擇,若對Flatpak不熟悉,也可用PPA,唯後者對Ubuntu版號的要求為20.04+。</p>
<h2>以OBS Studio做螢幕錄影</h2>
<h3>工作畫面區塊</h3>
<p>先稍微了解一下OBS Studio的工作畫面與各區塊的大致功能:</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTrxUJl2ZFqyJIAjY0bF_q5NyWqR6icgDOyxEy3wTouM0xGElvYiO14lY-0mL9Fy_7820YkRsTK_LJr8FpqFkIdYZQwTdXJSvP0g12BuzRlaNnQ9Ro7sZR5vV3_ILg_zbyJfp17g_3OFAW0nYhc8p4hXJZpPNHu24hQBnuB24BiDFBBwbG2cDZT04L/s1102/obs-studio.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="749" data-original-width="1102" height="217" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTrxUJl2ZFqyJIAjY0bF_q5NyWqR6icgDOyxEy3wTouM0xGElvYiO14lY-0mL9Fy_7820YkRsTK_LJr8FpqFkIdYZQwTdXJSvP0g12BuzRlaNnQ9Ro7sZR5vV3_ILg_zbyJfp17g_3OFAW0nYhc8p4hXJZpPNHu24hQBnuB24BiDFBBwbG2cDZT04L/s320/obs-studio.png" width="320" /></a></div><p></p><p>上半部是影像預覽畫面。</p>
<p>下半部的幾個區塊由左而右分別是:</p>
<ol><li>場景:如同拍攝活動時,會依需求從不同角度來取景。如電視上的談話節目,可能會有包含主持人與來賓的正面畫面,此時在拍攝現場的所有被拍攝者的對面中央會設置一部攝影機負責正面場景;而在主持人或來賓發言時,可能會分別有另一部攝影機負責人物的特寫畫面,也就是另一個特寫場景。故在拍攝進行之前,就先設置好所想要的場景,在不同拍攝角度各配置好攝影機,這樣在錄影進行中切換不同場景時就可達到類似從不同取景角度觀看節目的效果。另一例子如觀看棒球比賽轉播時,球場會有多支攝影機負責不同的場景。</li><li>來源:指的是視訊、音訊或是其他圖片材料供錄製用的輸入源。</li><li>音效混音器:簡單說就是可對音訊做些特效或控制。</li><li>轉場特效:可設置切換場景時的特效,如淡入淡出。這有點類似簡報軟體投影片轉場特效的作法。</li><li>控制項:在做好錄影的設置後,可從這裡控制軟體開始或停止錄影/串流。</li></ol>
<p>這樣的工作畫面順序安排是有其道理的,先加入所需的場景,每個場景設置好所需要的視訊、音訊來源,在必要時再調整一下音效混音器還有轉場特效,都設定完成後,最後用最右邊的控制項來控制軟體開始或停止錄製。</p>
<p>上述是預設的畫面佈局,下半部的幾個區塊其實叫停駐視窗,可用滑鼠拖拉來移動停駐的位置,從軟體的命令選單可切換它的顯示/隱藏或鎖定狀態。</p>
<p>了解了整體畫面的大致作用之後,以下就僅針對錄製螢幕的工作做些簡單的解說。在初次使用軟體時,建議先做些必要的軟體基本設置。</p>
<h3>簡單基本設置</h3>
<p>控制項中有個設定,點選後進入設定畫面,左側會列出可設置的項目,這裡只針對錄製螢幕工作方面點出幾個較主要的設定項目,若採用預設值通常也是可以的。讀者也可依自身需求做其他設定方面的調整。</p>
<ul><li>輸出:錄影路徑、畫質、格式。</li><li>音效:注意其中有個桌面音效,螢幕錄影時也會同時錄到桌面音效。</li><li>影像:依實際需求調整解析度或FPS。</li><li>快捷鍵:建議至少設置開始錄製與停止錄製的快捷鍵。遊標置欄位中直接按所想要的快捷鍵,如鍵盤頂端功能鍵的F2即可將F2設為該動作的快捷鍵。用快捷鍵會比使用滑鼠去點控制項上的按鈕來的方便,而且錄製結束時也不用錄到滑鼠去點停止錄製的動作。</li></ul>
<h3>截取螢幕</h3>
<p>完成軟體基本設置後,依螢幕錄影工作來加入場景與視訊來源。</p>
<ol><li>場景:按左下的加號圖示按鈕加入一個場景,名稱請自訂或採預設值即可。單一螢幕的螢幕錄影只需一個場景即可。</li><li>來源:在上述場景中加入截取螢幕,或是截取視窗——如果想錄的是某應用程式的視窗而不是全螢幕的話。如果錄影想包含鼠標活動,在屬性設定視窗中勾選“捕捉游標”。如果使用Wayland,可以試試選擇有PipeWire字樣的畫面/視窗擷取。</li><li>音效混音器:如果不想錄到聲音(如螢幕上正在播放影片的聲音,或系統的通知音效聲音),可在此處調整成靜音。前面提過,螢幕錄影時也會同時錄到桌面音效——即便在來源中並未加入任何音效來源。</li></ol>
<p>以上就緒後,即可開始錄製,可用快捷鍵或用滑鼠點控制項上的開始錄製鈕,開始後原本的開始錄製鈕上的文字會變成停止錄製,其作用也變成停止錄製。錄影時在軟體右下角狀態列顯示錄影時間與CPU用量等資訊。錄影完成後,按停止錄製鈕或快捷鍵,然後到存放影像的路徑查看錄影的結果如何。</p>
<h2>結語</h2>
<p>初次使用OBS
Studio時可能會有點摸不著頭緒,不過如果稍了解一下它的使用者界面為何如此設計,以及從一般錄影(或拍片)工作流程的角度來思考時,應該就較容易進入狀況。本文只針對螢幕錄影的工作做點簡略的說明,僅能初窺OBS
Studio的幾個簡單功能,不過如果從拍片工作流程的角度來思考如何添加場景與攝影機、麥克風時,可能有些讀者很快就能想出結合網路攝影機webcam來錄製影片的簡單作法了,當然前題是先把錄影、錄音裝置裝好,並在OBS
Studio設定使用這些裝置。</p>Fygul Hetherhttp://www.blogger.com/profile/14177537617231833647noreply@blogger.com0tag:blogger.com,1999:blog-3601881931050405057.post-54961217774940787152023-01-29T17:47:00.000+08:002023-01-29T17:47:02.741+08:00ApowerREC安卓裝置螢幕錄影APP<div class="e-content entry-content" itemprop="articleBody text">
<h2>概要</h2>
<p>手機是現代人必備的工具,很多事都得透過手機來完成,有時難免要錄製手機上的螢幕影像。有些安卓手機出廠已預裝螢幕錄影APP,如果沒有就只好自行裝一個。在Google
Play上這類APP不算太少,一時之間可能會令人難以選擇,再者也可能擔心挑到不是很理想的,如廣告過多、功能限制,或是不易操作。</p>
<p>如果只是想要簡單易用,無需太多功能,只要能把螢幕清晰錄影下來就可以的,那麼不妨試試ApowerREC,也許已符合用戶需求。</p><a name='more'></a>
<h2>ApowerREC簡介</h2>
<p><a href="https://play.google.com/store/apps/details?id=com.apowersoft.apowerrec" target="_blank">ApowerREC</a>這款羽量級免費螢幕錄影工具,佔用記憶體小,無廣告與浮水印,操作也簡單,多數人第一次使用多半可以上手。在錄螢幕時也能同時錄聲音,當然這在設置中可以做調整,建議第一次使用時也先進入設置做必要的調整。</p>
<p>ApowerREC也有Windows, macOS, iOS的版本,甚至有Chrome的插件,只是功能與操作方面並非一樣,且有的要付費版才無功能限制。</p>
<p>ApowerREC是由Apowersoft的團隊所推出的多樣產品之一,同團隊還推出另一款類似APP是<a href="https://play.google.com/store/apps/details?id=com.apowersoft.screenrecord" target="_blank">Apowersoft螢幕錄影王</a>,看起來有較多的功能。</p>
</div>Fygul Hetherhttp://www.blogger.com/profile/14177537617231833647noreply@blogger.com0tag:blogger.com,1999:blog-3601881931050405057.post-88916773465651948202022-12-24T20:52:00.003+08:002022-12-24T20:58:46.482+08:00Bitwarden密碼管理器<h2>概要</h2>
<p>很久以前介紹過<a href="http://fygul.blogspot.com/2016/01/keepass.html" target="_blank">KeePass之類的密碼管理軟體</a>,屬於單機式的軟體,在想登入的畫面中輸入帳號密碼時,自行從中複製並貼上可省卻逐一敲鍵輸入的動作。現代瀏覽器或移動裝置有些會提供更方便的作法,就是在登入時先詢問使用者,在經過使用者允許同意之後,可自動記錄輸入的帳號密碼,往後進入同一登入頁面時,它可以自動幫你調出記錄並自動輸入。相當方便的作法,只是有些人可能會不放心這些被記錄下來的帳號密碼會留在哪裡?儲存的資料是否做了良好的加密?日後會不會因為該軟體有某種弱點被發現或其它原因而導致檔案或資料洩漏出去?</p>
<p>關於資訊安全,不妨多留意些,採取較嚴謹的要求準沒錯。如果很想使用上述方便的作法,又覺得不放心,那麼本文所要介紹的Bitwarden可以更加方便,而且相當安全,不僅是開放源碼,而且經過第三方單位對代碼做過安全方面的分析與審查,近年來也幾次被不同機構評選為最佳密碼管理器。[1]</p>
<p>本文僅做粗略簡單介紹,更詳細的資料,可見文末所列參考與連結,Bitwarden官方網站也提供不少說明。<span></span></p><a name='more'></a><p></p>
<h2>Bitwarden簡介</h2>
<p><a href="https://bitwarden.com/" target="_blank">Bitwarden</a>是由Bitwarden
Inc.所開發的密碼管理服務,提供雲端儲存,也有Self-host的選項;提供各式平台用戶端軟體,像Windows, macOS,
Linux桌面版本,有支援多款瀏覽器的插件,移動裝置APP,或者,也可以直接用網頁,只要有現代版本的瀏覽器即可。</p>
<p>以Bitwarden記錄的帳號密碼資料會經過加密後儲存在雲端,使用者在不同裝置上安裝好用戶端軟體,資料即可從雲端同步到使用者裝置上的用戶端軟體,如此使用者就可在不同的電腦、手機、平板上取得並使用同一份資料。這就有點類似<a href="http://fygul.blogspot.com/2022/02/authy.html" target="_blank">Authy</a>多裝置功能的作法。</p>
<p>上述提到的資料加密是採用Zero-knowledge
encryption,以使用者提供的主密碼來產生加密金鑰,再以此金鑰對資料做加密。服務的提供方並不知曉使用者的主密碼以及所儲存的資料內容。所以使用者在使用Bitwarden時,要先註冊個帳號,留個電子郵件信箱,設置帳號名稱與主密碼。務必記好主密碼,如果忘了,裡頭的真實資料就無人知曉了。</p>
<p>該服務有免費與付費方案,前者的功能已可符合一般用戶需求,有進階功能需求者可採付費方案,目前看來價格也相當低廉。</p>
<p>有提供匯出/匯入功能,若有使用其他密碼管理器軟體的,可利用此功能與其他同類軟體匯出/匯入既有的帳號密碼資料。</p>
<h2>使用情境</h2>
<p>在Bitwarden官網上註冊好帳號之後,就可以正式使用它的服務了。若是電腦用戶,最常見的使用情景應該是在瀏覽器上登入網站,所以此處以此情境為例,並假定首次使用Bitwarden,尚未存放任何網站的帳號密碼。先裝好瀏覽器用的Bitwarden元件,並登入Bitwarden。</p>
<p>找個網站來登入,在輸入帳號與密碼成功登入網站時,它會詢問是否要儲存該網站的帳號與密碼。因為有些瀏覽器也可能做相同的詢問動作,所以這裡要請使用者自行區別清楚,看一下訊息文字與標示再做動作,Bitwarden的會帶有它的圖示。</p>
<p>儲存下來之後,往後再回來該網站且尚未登入時,在已登入Bitwarden的狀態下,Bitwarden的元件圖示會有所顯示。來到網站的登入頁面,在帳號或密碼的輸入欄位上按滑鼠右鍵,從快捷選單中找Bitwarden,其下的子選單中會有一項是“自動填入”可協助填入帳號與密碼。</p>
<p>特別再次提醒,要先以主密碼登入Bitwarden,打開密碼庫並取得其中的資料回來,才能進行上述自動填入的動作。類似的情況,在手機上使用時,要自動填入之前,Bitwarden
APP要先解鎖才會有作用。移動裝置版的Bitwarden用戶端可設置生物特徵來解鎖,如指紋;或是PIN碼解鎖,這兩者可能會比在手機軟鍵盤輸入主密碼來的方便。不同廠牌型號的移動裝置,在這方面的作法可能會有所不同。另外,可能還要調整一下系統設置,將提供自動填入功能的APP改成Bitwarden。</p>
<h2>個人訣竅</h2>
<p>自己是KeePass與Bitwarden都使用,以下提供個人的使用訣竅,僅當個範例供參考,請讀者視己身需求做適度調整。</p>
<p>由於Bitwarden的主密碼不可遺失或忘記,所以建議可搭配KeePass XC/KeePass
DX使用。譬如,把所有帳號密碼,包括Bitwarden的主密碼都記錄在KeePass中。帳號密碼數量很多時可依需要自行做分類,或放置在不同檔案中方便管理,密碼檔再複製到自己掌控的不同裝置中當備份,如果想複製到多個裝置,可考慮使用<a href="http://fygul.blogspot.com/2021/10/syncthing.html" target="_blank">Syncthing</a>。務必記牢KeePass的密碼。</p>
<p>如果不放心把所有密碼都存放Bitwarden的雲端空間,那麼可採取折衷方式:Bitwarden中只放需要經常頻繁登入的網站或線上服務的帳號密碼,讓Bitwarden協助自動輸入;至於很久才需要重新登入的,用KeePass人工複製貼上即可。</p>
<p>自己的主要機器使用Kubuntu桌面環境,其中的<a href="http://fygul.blogspot.com/2022/08/gnome-keyring-on-kde.html" target="_blank">KWallet</a>也可用來記錄一般密碼,而且只需登入桌面環境的密碼即可開啟KWallet,所以把KeePass與Bitwarden的主密碼都存在其中之後,在桌面環境工作時,基本上就可以把人工敲鍵輸入帳號密碼的次數降到一。即解鎖KWallet之後,就可複製貼上來解鎖KeePass與Bitwarden,其餘的不是以Bitwarden自動填入就是複製貼上。除非要新註冊帳號,否則就沒有人工敲鍵輸入密碼的機會。</p>
<h2>參考與連結</h2>
<ol><li>https://en.wikipedia.org/wiki/Bitwarden</li><li>https://en.wikipedia.org/wiki/List_of_password_managers</li><li>https://free.com.tw/bitwarden/</li></ol>Fygul Hetherhttp://www.blogger.com/profile/14177537617231833647noreply@blogger.com0tag:blogger.com,1999:blog-3601881931050405057.post-31865273795150533702022-11-19T17:48:00.002+08:002022-11-19T17:48:18.940+08:00NewPipe:安卓裝置用輕量級YouTube前端<h2>概要</h2>
<p>YouTube是相當流行,非常多人使用的影音平台,在手機上有一些YouTube前端APP可帶來不同的觀賞體驗,本文簡單介紹其中一款叫NewPipe,可在安卓裝置使用,無需YouTube帳號也可訂閱想看的影視。<span></span></p><a name='more'></a><p></p>
<h2>NewPipe簡介</h2>
<p><a href="https://newpipe.net/">NewPipe</a>是開放原始碼的免費APP,亦不含廣告,乾淨的界面,在觀賞YouTube上的影音時不用受到廣告干擾。其它幾個特色像:</p>
<ul><li>可以下載影音</li><li>隱私</li><li>背景播放器</li><li>訂閱</li><li>書籤</li><li>歷史記錄</li><li>設置檔匯出/匯入</li></ul>
<p>要注意的是,若YouTube的後端做了修改調整,可能會導致NewPipe無法正常觀賞YouTube上的影音,得等待NewPipe改版後才能正常。</p>
<p>NewPipe支持的影音平台並不限YouTube,還有其它幾種平台,以下內容則是僅以YouTube為例。</p>
<h2>安裝</h2>
<p>強烈建議使用<a href="https://f-droid.org/">F-Droid</a>安裝,或者直接到官網查閱下載與安裝方式,甚至到它的<a href="https://github.com/TeamNewPipe/NewPipe">GitHub頁</a>下載apk檔。不建議其它非官方提供的下載管道,若在別處看到的同名APP,可能只是同名而已,實質並不一樣,像Google Play上有幾個同名APP,易令人混淆。再者,即使看來一樣,也要注意非官方版本是否被添加了額外東西。</p>
<h2>設置與使用例</h2>
<p>使用時建議先進入設定做必要的調整,通常只需要調整少許幾項,像下載存放位置。</p>
<p>YouTube提供了播放清單的功能供創作者把同一系列的相關影片收錄在一播放清單中,譬如影集就很合適這種方式,這樣可方便從第一集開始播放。以下就以此情境為例,展示如何在NewPipe加入一播放清單,並放在APP首頁,以便日後播放。</p>
<p>在NewPipe界面以關鍵字尋找播放清單可能不是很方便,可以用瀏覽器進入YouTube網站找到想要的播放清單,將其網址複製下來。回到NewPipe,在搜尋列貼上網址並輸入即可顯示播放清單,然後點右上角中間那個有加號的按鈕,將播放清單加入書籤,如下圖:</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9o8DgIlnQQ1Ze_o0Xxim8EG4P8erhI3p7OdBk9CvgOwSRTck-zyRILMee-7RJ5Q7-yD6AQqJsGmNvTgdQ4H3grz7izplEKDfiPAoenpkimCP3BNhQ2CERj_hm8gsN6XIeydcSI0L00bsgKmzxLiGQ2T6txJ4JSMeCo-Zs3LgPvEMS2GHITqo5CcnP/s1536/bookmark.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1536" data-original-width="864" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9o8DgIlnQQ1Ze_o0Xxim8EG4P8erhI3p7OdBk9CvgOwSRTck-zyRILMee-7RJ5Q7-yD6AQqJsGmNvTgdQ4H3grz7izplEKDfiPAoenpkimCP3BNhQ2CERj_hm8gsN6XIeydcSI0L00bsgKmzxLiGQ2T6txJ4JSMeCo-Zs3LgPvEMS2GHITqo5CcnP/s320/bookmark.png" width="180" /></a></div><p></p><p>之後在首頁的第一頁面(已加入書籤的播放清單)中就會出現此播放清單,往後可以在此處點選此播放清單將其展開來播放。不過往後若有多個播放清單之後,在不同播放清單之間切換時都得先回此處,較理想的做法是讓單一播放清單放在單獨的頁面中,切換頁面會較省事。此時必須調整設定,在首頁增加一個存放播放清單的頁面。</p>
<p>點NewPipe左上角的按鈕,並進入 <code>設定 -- 內容 -- 首頁內容</code> ,點右下角的加入按鈕,在“選擇分頁”中選 <code>播放清單頁面</code> ,在“選取播放清單” 選剛加入的那個播放清單,如下圖:</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4nmqqB1lEpXS1WL4lNTSn3LBDEy-XFuBnlV9_o3OOblbmmL6STPDIxr_u0-GdUmCeofe2lnlacDdW6v7f35nvDVYPKOGF5Rg-kxV_iBX7_x6-VpRdOE5cVzv9xaLUFbRG_VyiEYiWAAMV10vxkhErpeapURFO6XixUu2-Obdd60S8kryUOGLIWUdR/s1536/playlist.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1536" data-original-width="864" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4nmqqB1lEpXS1WL4lNTSn3LBDEy-XFuBnlV9_o3OOblbmmL6STPDIxr_u0-GdUmCeofe2lnlacDdW6v7f35nvDVYPKOGF5Rg-kxV_iBX7_x6-VpRdOE5cVzv9xaLUFbRG_VyiEYiWAAMV10vxkhErpeapURFO6XixUu2-Obdd60S8kryUOGLIWUdR/s320/playlist.png" width="180" /></a></div><p></p><p>完成此設定回到首頁即可出現新增的頁面。之後如果將此播放清單從書籤中移除,前述書籤頁面就找不到它,但仍可從此新增頁面中存取,也可重新加入書籤。</p>
<p>播放清單一般是放屬性較接近的影片;而頻道中的影片則可能較廣泛,如果想在NewPipe把某頻道單獨放一頁面,做法更簡單。在NewPipe看影片時,影片下方就會顯示頻道名稱,點選即可進入該頻道,點選右邊的“訂閱”按鈕。此時回首頁,第二頁面 <code>訂閱清單</code> 是個頻道頁面,即可看到剛訂閱的頻道。</p>
<p>接下來像前述的方法一般設定首頁內容,但在“選擇分頁”中選 <code>頻道頁面</code>,選擇剛訂閱的頻道即可。</p>
<p>由於NewPipe不使用線上帳號,所以上述做好的設定只存在本機裝置的資料庫中,不會存放雲端。NewPipe提供了匯出/匯入資料庫的功能,可供使用者自行備份資料庫。如果想在安卓手機、平板或TV使用相同設定就可利用此功能,但要記得調整下載存放位置,因此項可能會依裝置而不同。</p>
<p>匯出/匯入資料庫的功能可在 <code>設定 -- 內容</code> 中找到。 <code>訂閱清單</code> 中也有提供了匯出/匯入功能,但只限訂閱的頻道,不含撥放清單,故個人建議用匯出/匯入資料庫的方式較理想。</p>Fygul Hetherhttp://www.blogger.com/profile/14177537617231833647noreply@blogger.com0tag:blogger.com,1999:blog-3601881931050405057.post-34623680974195659112022-10-29T21:57:00.009+08:002022-10-29T22:06:47.964+08:00SATA電源接頭短路事件<h2>概要</h2>
<p>幾個月前因用了幾年的桌機主機板故障而換了新機器,舊的硬碟中還存著重要資料,所以難免要接到新機器中使用。有一回接上舊硬碟後按下開機按鈕卻聽到啪的異響並且傳出塑膠燒焦的味道,機器也停止開機,趕緊先把電源關閉並檢查一番。因為機器放桌下照明不佳,拿了工作燈照明查看了老半天才發現接舊硬碟的SATA電源接頭處有異狀。</p>
<p>這種SATA電源線有L型防呆凹槽,除非使用暴力把連接槽都壓壞,不然不會接反,而且這東西也不是第一次接,每次都會先看好方向再接,也不可能接錯。只是這回短路總有原因,因為在陰暗處連接SATA硬碟,接合當下並沒有看清楚,較大的可能原因是接的時候卡了像灰塵般會導電的異物;另一可能則是接頭沒整個接入又沒接正。</p>
<p>本文記錄此次電力短路意外與後續的非專業處置。<span></span></p><a name='more'></a><p></p>
<h2>清點損失與簡易修復處置</h2>
<p>這次電力短路發生後原本以為硬碟很可能損壞,資料會不見。在檢視過硬碟外觀之後,把短路處清理一下試著再接上使用,發現竟然沒壞,還能使用,真是不幸中的大幸,不過那個防呆L彎角燒掉了,之後接電源時要注意別接反:</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilE5VCjkvMO9w4KFl7VkEXbLnIX45uQHc9ghRrCMk-B7e93EBLIZJeLOQMKs1fX9WrZYvPLJRwN5RLY8JX8gOJ1PH-UD9M8KR8b5nvNLJ46AZUi52Xr6HvxOwB21tBUPqf0646wGBh-SJxhvDh9v5oVqzJpHijqEWFDbumXY3YY9J2k3tblXMKkZK7/s1127/sata-hd.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="693" data-original-width="1127" height="197" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilE5VCjkvMO9w4KFl7VkEXbLnIX45uQHc9ghRrCMk-B7e93EBLIZJeLOQMKs1fX9WrZYvPLJRwN5RLY8JX8gOJ1PH-UD9M8KR8b5nvNLJ46AZUi52Xr6HvxOwB21tBUPqf0646wGBh-SJxhvDh9v5oVqzJpHijqEWFDbumXY3YY9J2k3tblXMKkZK7/s320/sata-hd.jpg" width="320" /></a></div><p></p><p>短路燒毀的SATA電源接頭是不能用了:</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimsg--vznQuAu2Clb5NOmA3G9lIfz0tvLaWU2B3Ii3vjsGsxhqLnm0kHn-egokkOLMppl_GAzLS9bgAfVxQt_W05H-0rZ-g9j49ifCbSmSK9uk5ComM68XJenAimqGYkm5oDTAbRxZ4eTAbiyddgk1IJm1SCmsyP57iGQka9K8K9tu9SPfJH7mGjPR/s1278/damaged-connector.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="653" data-original-width="1278" height="164" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimsg--vznQuAu2Clb5NOmA3G9lIfz0tvLaWU2B3Ii3vjsGsxhqLnm0kHn-egokkOLMppl_GAzLS9bgAfVxQt_W05H-0rZ-g9j49ifCbSmSK9uk5ComM68XJenAimqGYkm5oDTAbRxZ4eTAbiyddgk1IJm1SCmsyP57iGQka9K8K9tu9SPfJH7mGjPR/s320/damaged-connector.jpg" width="320" /></a></div> <div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglEuLyR8AqfSTuDDLPsY_7Zvu7HA8KcXy8hTehjzshteO_WuFmDbKsP7UnM7mjf_VzYWTwRXv6VTrlwVZiAPySnICTAGLj89tI5T1Sy5VqzxJ5oAy3hkKEPdH-hpiItW0GcgHqbFUwyh4ZGvkfXJ1z_X1r2kyKJbQ_cFWx7G8qVAGFsFM0l3jfDrrt/s1280/damaged-connector-2.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="695" data-original-width="1280" height="174" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglEuLyR8AqfSTuDDLPsY_7Zvu7HA8KcXy8hTehjzshteO_WuFmDbKsP7UnM7mjf_VzYWTwRXv6VTrlwVZiAPySnICTAGLj89tI5T1Sy5VqzxJ5oAy3hkKEPdH-hpiItW0GcgHqbFUwyh4ZGvkfXJ1z_X1r2kyKJbQ_cFWx7G8qVAGFsFM0l3jfDrrt/s320/damaged-connector-2.jpg" width="320" /></a></div><p>燒焦處的金屬端子與塑膠黏一起無法拔出來,這個電源接頭與後面的另一接頭只好放棄剪掉:</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9p9ABSrUAudji99QlGkwCaK9U1XYKIDjCHQ9CzzfqXdPl-wK8tKfCFNR92j2tp-9P945DMCTMmNEhp3hKYzaRCFWL8Fc_0av1uDKGaSjvRPv7X7x9CKKleodonYf90SsdlGgroBoEIi822sZtCWhHRAwxrpfWoOZgrg0ZABv1B59XjYEqLv1x-2al/s967/damaged-connector-3.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="758" data-original-width="967" height="251" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9p9ABSrUAudji99QlGkwCaK9U1XYKIDjCHQ9CzzfqXdPl-wK8tKfCFNR92j2tp-9P945DMCTMmNEhp3hKYzaRCFWL8Fc_0av1uDKGaSjvRPv7X7x9CKKleodonYf90SsdlGgroBoEIi822sZtCWhHRAwxrpfWoOZgrg0ZABv1B59XjYEqLv1x-2al/s320/damaged-connector-3.jpg" width="320" /></a></div><p></p><p>燒掉的這個接頭在中段,是從前段的接頭分接出來的,所以把更前段的接頭端子取出,把分出的線剪掉:</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBZITqdckK2UPstvxakbgoUAPi1GOD3OtNTvTgGv4L6WVlKKNxNVwVC-Ema4C87V36jt3Hg-4m0aSo44ueNnd7NakmLzM8jilfx3NRNfiy270ISmrsFzsREbtOVhosfR3-1RlZczsS7jilbrwlqvTHfW8iXMhRAGLpfqgxnYGa9jaVTHfCALnlt5y7/s1280/cutted-cable.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="849" data-original-width="1280" height="212" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBZITqdckK2UPstvxakbgoUAPi1GOD3OtNTvTgGv4L6WVlKKNxNVwVC-Ema4C87V36jt3Hg-4m0aSo44ueNnd7NakmLzM8jilfx3NRNfiy270ISmrsFzsREbtOVhosfR3-1RlZczsS7jilbrwlqvTHfW8iXMhRAGLpfqgxnYGa9jaVTHfCALnlt5y7/s320/cutted-cable.jpg" width="320" /></a></div><p></p><p>因為手邊沒有合適的壓鉗工具,所以不方便把金屬端子打開,抽掉不要的線,再重新壓好,所以僅是把不要的線剪掉。但這樣也留下斷線的外露銅線,為避免不慎短路,在外露處塗點黏膠當絕緣:</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhK26tfLzOTld4G7MrDpSONwGsi-pa1zg2KeJ8E813NSGpH71XDULLoQRgZK1Gog53sEF96lNUJ2aKC0lVDrE-_kip4dotLCXvYmY9EnVwSgysRg-m2DI9h09InvcCiB1D1KVpL13bT7u3o3JV2jPnVmCRaPQiOqTyUiJVts966TdWNEp49bZUl4nhb/s1189/cutted-cable-2.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="516" data-original-width="1189" height="139" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhK26tfLzOTld4G7MrDpSONwGsi-pa1zg2KeJ8E813NSGpH71XDULLoQRgZK1Gog53sEF96lNUJ2aKC0lVDrE-_kip4dotLCXvYmY9EnVwSgysRg-m2DI9h09InvcCiB1D1KVpL13bT7u3o3JV2jPnVmCRaPQiOqTyUiJVts966TdWNEp49bZUl4nhb/s320/cutted-cable-2.jpg" width="320" /></a></div><p></p><p>待黏膠乾掉後,再把電源接頭的殼套上: <br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXF64tYR85XU8_wvLMdduzmkPelO2ZXh52tRV6qzpbSj3j2nF6Tzc9SELjdc_BAU7xkXAG6DjcPt69_L_jq_ZhtAdheZLT2yBF_p9eMPp-KtjFX8dcBE3mCRAaQuaIAuAosOXbe9ormiXQEAf-nitr33iSkMJCGVWLm4Ped7xOaZrINUS0FZbfT0MK/s1244/cutted-cable-3.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="563" data-original-width="1244" height="145" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXF64tYR85XU8_wvLMdduzmkPelO2ZXh52tRV6qzpbSj3j2nF6Tzc9SELjdc_BAU7xkXAG6DjcPt69_L_jq_ZhtAdheZLT2yBF_p9eMPp-KtjFX8dcBE3mCRAaQuaIAuAosOXbe9ormiXQEAf-nitr33iSkMJCGVWLm4Ped7xOaZrINUS0FZbfT0MK/s320/cutted-cable-3.jpg" width="320" /></a></div><p></p><p>壞掉的電源接頭是拿掉了,但這樣也少了可用電源接頭的數量,只好買電源分接線來擴充數量,像這種:</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiExa2Ep8jFGSoDDBMi263QOSxrbPVI0GGuuFz57bgOdy9xU3W59bDWmwRXhoTJro6bzXS5AdHSR7kE_Y5Xdv-dXPFmXWWBxucec80wA2Ro-ktdnj80eKgyKahG_JTB3d88Omb85AgYJ6BbCUoGAYbEc0456lcQKGyMNZ_gAcpmaVwG1fOgCv7qYEr_/s1169/sata-power-cable.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="678" data-original-width="1169" height="186" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiExa2Ep8jFGSoDDBMi263QOSxrbPVI0GGuuFz57bgOdy9xU3W59bDWmwRXhoTJro6bzXS5AdHSR7kE_Y5Xdv-dXPFmXWWBxucec80wA2Ro-ktdnj80eKgyKahG_JTB3d88Omb85AgYJ6BbCUoGAYbEc0456lcQKGyMNZ_gAcpmaVwG1fOgCv7qYEr_/s320/sata-power-cable.jpg" width="320" /></a></div><p></p><h2>結語</h2>
<p>用了這麼久電腦第一回出這種意外自己也沒想到,幸好這次短路意外沒造成重大損失,因為電源供應器有保護設施,在發生短路當下就停止供電沒再讓災害擴大。硬碟沒壞,只是電源接頭處有點損傷,清理後還可讀出資料。新的電源供應器損失一個SATA接頭,因為剪掉此接頭,連帶它後面的IDE接頭也沒了,反正也沒IDE裝置就沒影響。以後連接這類電源接頭時還是要留意一下。</p>
<p>由於手邊缺乏專業工具,所以只能做些簡單的非專業處置。</p>
<p>※由於雜事眾多,少有可用時間,往後極可能會降低發文頻率,或簡省文字,或暫停發文。</p>Fygul Hetherhttp://www.blogger.com/profile/14177537617231833647noreply@blogger.com0tag:blogger.com,1999:blog-3601881931050405057.post-48955228176697683292022-09-24T20:43:00.003+08:002022-09-24T20:50:05.917+08:00Timeshift:Linux系統備份還原工具<h2>概要</h2>
<p>在 Linux 上要做系統備份可以有多種不同的做法[1],如果想在桌面環境使用圖形式的系統備份/還原工具,那麼 Timeshift
無疑是很不錯的選擇。簡單的界面加上清楚的指示說明,在第一次使用時還有設定精靈來協助使用者做基本設置。使用者無需懂得太多基礎知識,照著指示就能完成系統備份。</p>
<p>本文簡單介紹 Timeshift 及其使用,環境是 Kubuntu 22.04。</p><a name='more'></a><p></p>
<h2>Timeshift簡介</h2>
<p><a href="https://github.com/linuxmint/timeshift" target="_blank">Timeshift</a> 做的工作就類似 Windows 上的系統備份功能,但有較清楚易用的圖形界面,故必須在桌面環境使用。主要用途是備份系統檔案與設置,故預設會排除使用者家目錄。若想備份使用者資料,建議用其他較理想的工具或做法,桌面環境多半會預裝這類資料備份工具。</p>
<p>如果系統使用 BTRFS 檔案系統,在 Timeshift 中就可用 BTRFS 的功能做備份;否則就採 Rsync
的方式做備份。操作者無需懂得這二者的用法,使用圖形工具即可搞定一切。備份系統時必須動用到管理員權限,故執行 Timeshift
時要輸入系統管理員密碼。</p>
<h2>安裝</h2>
<p>Timeshift 並非 Ubuntu 預裝的軟體,然而要安裝也相當容易,這裡用 <code>apt</code> 即可:</p>
<pre><code class="bash">
$ sudo apt install timeshift
</code></pre>
<h2>使用</h2>
<h3>初次使用</h3>
<p>安裝好後第一次執行 Timeshift 時會出現設定精靈,也提供說明文字,照著引導做些基本設置即可。</p>
<h3>備份</h3>
<p>“備份”在 Timeshift 的用語是“建立快照”,快照 snapshot
指的是某個時間點的系統檔案內容。為系統建立快照即取得系統檔案的內容,即備份的意思。Timeshift 除了提供了排程功能做快照,也可以自行依需要
(On deman) 手動建立快照,如下圖中快照標籤標示 O 的即手動做的快照。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0Og8YmtxJa4Xwt2Xm8UexFLjiCqkQ24q3qGPdtgrqha88QolRfXKsm4HHR7GH9z75nygTKcY3rlf2drZciDWuIQwXSBf860C6uk3fyd3cHDelGM7Ehin8QO3yU3w6fDV_HhLAiPgDEm4o9yuFCqtjRYNiZpVxMmb6PTZfnMUH5J0CiiCmVv2sMim7/s701/timeshift.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="674" data-original-width="701" height="308" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0Og8YmtxJa4Xwt2Xm8UexFLjiCqkQ24q3qGPdtgrqha88QolRfXKsm4HHR7GH9z75nygTKcY3rlf2drZciDWuIQwXSBf860C6uk3fyd3cHDelGM7Ehin8QO3yU3w6fDV_HhLAiPgDEm4o9yuFCqtjRYNiZpVxMmb6PTZfnMUH5J0CiiCmVv2sMim7/s320/timeshift.png" width="320" /></a></div><p>以排程做快照的標籤則有 H, D, W, M,分別表示小時、日、週、月。</p>
<h3>還原</h3>
<p>在執行中的桌面環境即可還原快照,但系統要重啟以完成還原程序。</p>
<p>如果系統已無法啟動,可用 Ubuntu Live CD 開機,在此 Live 系統中安裝 Timeshift,然後將快照還原到系統碟。</p>
<h2>注意</h2>
<p>往後若想移除 Timeshift ,記得在移除之前先用 Timeshift 把所有快照刪除,否則這些快照檔日後仍佔用空間。另外,快照動作若做一半沒完成就消取,記得自行刪除這個未完成的快照檔,按“瀏覽”即可找到它。</p>
<p>備份系統的快照檔最好存放在系統碟以外的儲存空間;再者因檔案較大,可以的話存到有充裕空間的 SSD 中,否則可能要花稍久時間才完成。</p>
<h2>結語</h2>
<p>Timeshift
是個簡單易用的圖形工具,可讓使用者方便快速地執行備份、還原系統的工作,方便一般非專業使用者學習與使用,不需動用到命令行。體積也小巧不佔空間,安裝快速,在開機光碟的作業環境也方便使用。在某些情況下,譬如不慎安裝了某種不佳的軟體或對系統做了不當的調整,導致系統出問題甚至無法開機時,若先前曾用
Timeshift
建立過快照,就可進行還原,不花太久時間即可回到原本可正常使用的狀態。不然可能得花很長時間在排除故障或是重新安裝與建置新系統以恢復到原來的正常運作狀態。</p>
<p>本文僅對 Timeshift 做點基礎介紹,若想進一步了解,官方文件有較詳細說明。</p>
<h2>參考與連結</h2>
<ol><li><a href="https://wiki.archlinux.org/title/System_backup" target="_blank">System backup</a></li><li><a href="https://itsfoss.com/backup-restore-linux-timeshift/" target="_blank">How to Backup & Restore Linux System Settings With Timeshift</a></li><li><a href="https://github.com/linuxmint/timeshift" target="_blank">linuxmint/timeshift</a></li></ol>Fygul Hetherhttp://www.blogger.com/profile/14177537617231833647noreply@blogger.com0tag:blogger.com,1999:blog-3601881931050405057.post-37274692023514080692022-08-16T20:04:00.010+08:002022-08-16T21:44:45.196+08:00Ubuntu 18.04安裝虹堡EZ100PU讀卡機<h2>摘要</h2>
<p>在Ubuntu 18.04 64位元的環境安裝虹堡EZ100PU讀卡機驅動程式。在Kubuntu 22.04實際操作也大致適用。</p>
<p>※本文是二年多前寫的舊記錄,近日做了補充。</p><a name='more'></a><p></p>
<h2>安裝</h2>
<p>虹堡有提供EZ100PU讀卡機的Linux 32/64位元驅動程式,至<a href="https://www.castlestech.com/zh-hant/%E6%AA%94%E6%A1%88%E4%B8%8B%E8%BC%89/">下載頁</a>找到壓縮檔下載後解開64位元版的,進入解開的子目錄中內有說明檔,不過這是2016年版(v1.5.3)的,其中提到pcsclite的下載源無法用。</p>
<p>說明檔中有完整的安裝步驟,包括後面的注意事項,可先看一遍。</p>
<p>在開始安裝驅動前,先把讀卡機裝好。</p>
<h3>安裝pcscd</h3>
<p>沒有前述的pcsclite沒關係,可用以下方式代替:</p>
<pre><code class="bash">
$ sudo apt install pcscd pcsc-tools
</code></pre>
<p>這樣也會同時安裝另兩個需要的包。<code>pcscd</code>是讀卡機的daemon,裝好正常的話,開機時會自動啟動;在Kubuntu 22.04沒自動啟動,請見文末。</p>
<h3>安裝驅動程式</h3>
<p>之後再安裝驅動,進入前述解開的64位元驅動程式的子目錄,照其中的說明檔做,必要時要先做chmod 777。先檢查環境一下:</p>
<pre><code class="bash">
$ ./chekc_env
</code></pre>
<p>顯示結果如下:</p>
<pre><code class="plaintext">
pcsc-lite version 1.8.23.
Copyright (C) 1999-2002 by David Corcoran <corcoran@musclecard.com>.
Copyright (C) 2001-2015 by Ludovic Rousseau <ludovic.rousseau@free.fr>.
Copyright (C) 2003-2004 by Damien Sauveron <sauveron@labri.fr>.
Report bugs to <pcsclite-muscle@lists.alioth.debian.org>.
Enabled features: Linux x86_64-pc-linux-gnu libsystemd serial usb libudev usbdropdir=/usr/lib/pcsc/drivers ipcdir=/var/run/pcscd configdir=/etc/reader.conf.d
PC/SC Daemon Ready!
/dev/bus/usb Detected
USB Device File System Ready!
Found PC/SC Driver Location - /usr/lib/pcsc
Environment Check OK!
</code></pre>
<p>沒問題後正式安裝驅動:</p>
<pre><code class="bash">
$ sudo ./install
</code></pre>
<p>完成時顯示:</p>
<pre><code class="plaintext">
/dev/bus/usb Detected
USB Device File System Ready!
PC/SC Daemon Found!
PC/SC Driver Location - /usr/lib/pcsc
Reader Installation Successfully!
Please reboot your system.
</code></pre>
<p>上述顯示已安裝成功,要重開系統,所以先乖乖重開機再進入系統,否則以下動作也沒法用。</p>
<h3>掃描讀卡機</h3>
<pre><code class="bash">
$ pcsc_scan
</code></pre>
<p>正常的話顯示:</p>
<pre><code class="plaintext">
PC/SC device scanner
V 1.5.2 (c) 2001-2017, Ludovic Rousseau <ludovic.rousseau@free.fr>
Using reader plug'n play mechanism
Scanning present readers...
0: CASTLES EZ100PU 00 00
Fri Jul 10 21:18:04 2020
Reader 0: CASTLES EZ100PU 00 00
Card state: Card removed,
</code></pre>
<p>上述是沒插卡的狀態,此時可以插卡,正常時就顯示卡片資訊;也可以插卡後執行上述命令。</p>
<p>如果讀卡機沒接好則顯示:</p>
<pre><code class="plaintext">
Using reader plug'n play mechanism
Scanning present readers...
Waiting for the first reader...
</code></pre>
<p>如果<code>pcsd</code>沒啟動則會顯示這樣的訊息:</p>
<pre><code class="text">
SCardEstablishContext: Service not available.
</code></pre>
<p>此時請先將其啟動,Kubunt 22.04的作法:</p>
<pre><code class="bash">
$ sudo systemctl start pcsd
</code></pre>
<p>若想設為自動啟動:</p>
<pre><code class="bash">
$ sudo systemctl enable pcsd
</code></pre>
<p>若想將其停止:</p>
<pre><code class="bash">
$ sudo system stop pcsd.socket
</code></pre>
<h2>參考</h2>
<ul><li><a href="https://medium.com/@ywchen88/ubuntu-%E5%A0%B1%E7%A8%85-dfe94f63afad">ubuntu 報稅</a></li><li><a href="https://netbank.esunbank.com.tw/webatm/Q&A_016.htm">Linux 相關問題-常見問答集</a></li></ul>Fygul Hetherhttp://www.blogger.com/profile/14177537617231833647noreply@blogger.com0tag:blogger.com,1999:blog-3601881931050405057.post-38519180105108473652022-08-14T19:45:00.003+08:002022-10-04T22:15:09.442+08:00讓使用Gnome keyring的軟體可在KDE上正常執行<h2>概要</h2>
<p>有些Linux版的軟體像Minecraft, Skype會使用到Gnome keyring,在KDE環境中無法正常執行,主要原因是KDE預設不是使用Gnome keyring而是KWallet。[1]</p>
<p>本文記錄與此有關的問題與解決方式,先從Keyring說起,再以<a href="https://firefly.iota.org/" target="_blank">Firefly</a>為例子做說明,使其在KDE中可正常執行。作業系統為Kubuntu 22.04。</p><a name='more'></a><p></p>
<h2>Ubuntu的Keyring</h2>
<h3>何謂Keyring</h3>
<p>Keyring是Linux上的一項安全功能,用來在桌面環境儲存密碼或是金鑰。就像實體的Keyring鑰匙圈,可以把多支鑰匙串掛在一個金屬環上,方便攜帶與保管。</p>
<p>Linux桌面環境用的Keyring則是可保存ssh的金鑰、GPG金鑰,或是其他應用像Google Chrome瀏覽器使用此功能時所用的金鑰,另外也可以保存額外的密碼。</p>
<p>Keyring會由一個主要密碼加密,這主要密碼預設是與用戶登入的密碼一樣,在用戶登入桌面環境,輸入密碼時就會同時解鎖打開Keyring,之後在第一次開啟使用到Keyring的軟體如Google Chrome時就不會再詢問一次密碼以解鎖Keyring。</p>
<p>然而,若把系統設置成自動登入桌面環境時,因為用戶未輸入密碼就沒能解鎖Keyring,開啟Google
Chrome時就會出現詢問解鎖keyring密碼的對話窗,此時若不輸入密碼,按幾次取消還是可以使用Google
Chrome,但原本存在其中的網站帳密會被清除。這樣的作法可以保護自動登入的系統,若不是由原用戶開機時,不致於讓他人開啟Google
Chrome並使用了原用戶的網站帳密。</p>
<p>※若為圖方便而把Keyring密碼清空,以避免在啟動Google Chrome再輸入一次密碼,是非常不安全的做法。</p>
<h3>Gnome與KDE的Keyring程式</h3>
<p>Gnome桌面的keyring功能由gnome-keyring提供,前端GUI是Passwords and Keys,舊稱為Seahorse;而KDE則是KWallet,前端是KDE錢包管理員。</p>
<p>KDE一般預設並不會安裝gnome-keyring,故若是有應用程式在KDE中非得要使用gnome-keyring不可,就會無法正常執行,在此種情況,可以在KDE中安裝gnome-keyring與seahorse,如下:</p>
<pre><code class="bash">
$ sudo apt install gnome-keyring seahorse
</code></pre>
<p>記得檢查一下 <code>gnome-keyring-daemon</code> 是否已執行,這工作可用System Monitor查看,或 <code>ps -aux | grep gnome-keyring-daemon</code> 。</p>
<h2>讓Firefly Desktop在KDE上正常執行</h2>
<p>之前在Ubuntu MATE 20.04上正常使用Firefly Desktop,換到Kubuntu
22.04後,把原有的設置檔帶過來用,在輸入 PIN
碼時無反應;若是新設置,有用戶反映在建立新帳號輸入PIN碼時無反應[3]。其主要問題即是使用Gnome
keyring,在KDE若想正常執行,必須如上述般先安裝好所需要的東西。</p>
<p>另外一個問題則是,由於Firefly官方釋出的Linux版本是個AppImage執行檔,在此情況下建議將其解開後安裝使用,避免用 AppImage 的 <code>--no-sandbox</code> 執行參數。</p>
<p><b>※2022-10-4補充:新版Firefly的AppImage執行檔已改成預設採用 <code>--no-sandbox</code> 執行參數,也不必再像以下一般解開後執行。</b> </p>
<p>參考了Arch User Repository打包Firefly的方式[4],到<a href="https://github.com/iotaledger/firefly/releases" target="_blank">官方下載點</a>下載AppImage檔,以1.6.5版為例,解開後做些調整,安裝到系統中使用。可在家目錄中建立個 <code>build</code> 資料夾做這些工作,完成後可將此資料夾清除。主要工作的指令如下,可將存成 <code>.sh</code> 腳本,方便往後重複執行:</p>
<pre><code class="bash">
#!/usr/bin/bash
# Assign filename before executing this script
APPIMAGE=firefly-desktop-1.6.5.AppImage
APP=firefly-desktop
EXEC=/usr/bin/iota-firefly-wallet
# Extract Appimage
chmod +x ./$APPIMAGE
./$APPIMAGE --appimage-extract > /dev/null 2>&1
chmod -x ./$APPIMAGE
# fix file permissions - all files as 644 - directories as 755
find ./squashfs-root/ -type d -exec chmod 755 {} \;
find ./squashfs-root/ -type f -exec chmod 644 {} \;
# Copy files
sudo mkdir -p /opt/$APP
sudo cp -R ./squashfs-root/* /opt/$APP
sudo chmod +x /opt/$APP/desktop
# Desktop entry
# 先調整內容
sudo sed -i "s|AppRun|$EXEC|" ./squashfs-root/desktop.desktop
sudo sed -i "s|Icon=desktop|Icon=/usr/share/icons/$APP.png|" ./squashfs-root/desktop.desktop
sudo cp ./squashfs-root/desktop.desktop /usr/share/applications/$APP.desktop
# Icon
sudo cp -R ./squashfs-root/usr/share/icons/hicolor/0x0/apps/desktop.png /usr/share/icons/$APP.png
# Link binary
sudo ln -s /opt/$APP/desktop $EXEC
</code></pre>
<p>往後若要升級版本,記得修改好 <code>APPIMAGE</code> 的檔名後存檔,再執行一次腳本。</p>
<p>若要將其移除:</p>
<pre><code class="bash">
#!/usr/bin/bash
APP=firefly-desktop
EXEC=/usr/bin/iota-firefly-wallet
# Remove files
sudo rm -R /opt/$APP
# Remove Desktop entry
sudo rm /usr/share/applications/$APP.desktop
# Icon
sudo rm /usr/share/icons/$APP.png
# Link
sudo rm $EXEC
</code></pre>
<p>正常的話,執行此軟體在設定或輸入 PIN 碼時,若尚未解鎖keyring就會出現要求解鎖的對話窗,成功解鎖後即可繼續使用。</p>
<h2>結語</h2>
<p>以上是用來讓使用Gnome Keyring的軟體能在KDE上執行的方法,但要注意的是,此法並非可適用於這類的所有狀況,如果軟體使用了某個KDE未提供的功能,還是可能無法正常執行的。</p>
<p>未來Firefly也許在KDE中可直接正常執行而不用做任何調整,但可能還得等待不算短的時間,在此之前可暫時先做如上的調整,還好也還不算複雜。</p>
<h2>參考與連結</h2>
<ol><li><a href="https://forum.manjaro.org/t/how-do-i-get-gnome-keyring-to-work-on-kde-plasma/91264/21" target="_blank">How do I get Gnome Keyring to work on KDE plasma</a></li><li><a href="https://itsfoss.com/ubuntu-keyring/" target="_blank">Explain The Keyring Concept in Ubuntu: What is It and How to Use it?</a></li><li><a href="https://github.com/iotaledger/firefly/issues/3847" target="_blank">[Bug report]: Account creation becomes unresponsive at PIN verification (ArchLinux, KDE) #3847</a></li><li><a href="https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=iota-firefly-wallet" target="_blank">AUR : iota-firefly-wallet.git</a></li></ol>Fygul Hetherhttp://www.blogger.com/profile/14177537617231833647noreply@blogger.com0tag:blogger.com,1999:blog-3601881931050405057.post-16050592013990347412022-07-16T23:03:00.009+08:002022-08-21T22:33:15.863+08:00AC600 USB無線網卡 + 藍牙<h2>摘要</h2>
<p>在某購物網站買了個WiFi & Bluetooth USB
Adapter裝在桌上型電腦使用。這款未標示廠牌的AC600便宜無線網卡採用瑞昱Realtech
RTL8821CU晶片,隨附Windows與macOS用的驅動程式。然而想在Kubuntu
22.04上使用就得自行尋找可靠的Linux驅動來安裝,當然,在購買前已先查過相關資料,事先確定可行才會買。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHupIWaedrN1zHDqHX7ibXL1ZT9kuHG33cB_TfmyUcDPOuFFxml-w8SCjSyIgpMb-LmgedBaylY05krkDYIEXghojhWcIIHVtH6X7tvRNUmLVsW6ptjW2DbpJFZZm878ayBnrB-1tr7lExuVTL8kQKtq9qk1GLTWafUfL2g2FJRJsKfaSND7ygUZO1/s2943/ac600-usb-adapter.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2943" data-original-width="2456" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHupIWaedrN1zHDqHX7ibXL1ZT9kuHG33cB_TfmyUcDPOuFFxml-w8SCjSyIgpMb-LmgedBaylY05krkDYIEXghojhWcIIHVtH6X7tvRNUmLVsW6ptjW2DbpJFZZm878ayBnrB-1tr7lExuVTL8kQKtq9qk1GLTWafUfL2g2FJRJsKfaSND7ygUZO1/s320/ac600-usb-adapter.jpg" width="267" /></a></div><p></p><p>本文以下簡單記錄這款帶藍芽功能的WiFi網卡的硬體規格,以及如何在Kubuntu 22.04上安裝驅動。</p><a name='more'></a> <p></p><h2>硬體規格資料</h2>
<p>瑞昱半導體<a href="https://www.realtek.com/zh-tw/products/communications-network-ics/item/rtl8821cu" target="_blank">產品網頁</a>上僅提供少許資訊。這裡另外條列幾個較主要的:</p>
<ul><li>增強型藍牙4.2 + WiFi 5雙頻(2.4 GHz, 5 GHz)迷你網卡(台灣瑞昱晶片RTL8821CU)</li><li>無線傳輸速率150+433 Mbps</li><li>支持WPA/WPA-PSK、WPA2/WPA2-PSK安全機制</li><li>具有模擬AP功能,支持PSP連接模式</li><li>無線網卡支持802.11AC無線設備,並向後兼容802.11 b/g/n/A/C</li><li>先進的WPA and WPA2加密技術</li><li>硬體上的AES與TKIP,減少耗用功率與加速加密速度</li><li>藍牙 v4.2,擁有自動跳頻技術(Adaptive Frequency Hopping)</li><li>網卡自帶驅動碟,包裝也另附光碟,內有驅動及藍牙程式</li></ul>
<p>事後發現同樣採用此晶片的其他牌產品像<a href="https://www.totolink.tw/products_view/A600UB" target="_blank">TOTOLINK A600UB AC600 USB藍牙無線網卡</a>,主要的硬體規格與功能基本上一樣。</p>
<h2>初步功能測試</h2>
<p>剛收到此商品時,第一時間要先測試並確定一下產品可正常使用,而不是瑕疵或故障品。由於沒有附Linux驅動,自然先在Windows上安裝測試。</p>
<p>在Windows
10上安裝好驅動程式後第一次重開機,在硬體管理員看此硬體上還標示個問號,直到第二次重開機後WiFi與藍牙才能正常使用。不知為何,在Windows
8上安裝藍牙的驅動程式時總是出問題,而WiFi驅動安裝好後也是第二次重開機後才正常,藍牙的功能看來不正常。不過既然在Windows
10上已可正常使用,應該是良品無誤,就不再花時間去查Windows 8上的問題。</p>
<p>再來,可以裝到Kubuntu 22.04上使用了。</p>
<h2>Linux驅動程式源碼</h2>
<p>在瑞昱半導體網頁上並沒有看到此晶片用的驅動程式,但在購買之前查到二處他人實際在Linux上成功使用的記錄[1],
[2],從他們的記錄分別找到兩個GitHub上此晶片的Linux驅動源碼[3], [4],前者標示 v5.8.1,後者
v5.4.1,稍看了它們的更動記錄,v5.4.1近來還有針對Linux 5.17做的修正更新,應該會較好。</p>
<p>雖然如此,仍先試裝了版號較新的v5.8.1,照著說明採DKMS build,在 <code>sudo dkms build</code> 時出錯而無法繼續,懶得查原因,直接換v5.4.1,結果是過程比想像中的還要順利。以下僅記錄v5.4.1的安裝過程。</p>
<h2>編譯與安裝Linux驅動程式</h2>
<p>v5.8.1說明中有較多的安裝命令,v5.4.1則是把主要的命令集中寫到 <code>.sh</code> 檔中了,如果想了解其中較細的過程,可查閱兩者的說明或是代碼,這裡只做簡單記錄。</p>
<p>有兩種編譯安裝的方式,這裡採用Build and install with <a href="https://en.wikipedia.org/wiki/Dynamic_Kernel_Module_Support" target="_blank">DKMS</a>。</p>
<p>在正式開始此工作之前,要先有build tools,若之前尚未安裝的話可執行:</p>
<pre><code class="bash">
$ sudo apt install build-essential bc unzip git -y
</code></pre>
<h3>取得驅動的源代碼</h3>
<pre><code class="bash">
$ mkdir -p ~/build
$ cd ~/build
$ git clone https://github.com/brektrou/rtl8821CU.git
</code></pre>
<h3>Build and install with DKMS</h3>
<p>安裝dkms:</p>
<pre><code class="bash">
$ sudo apt install dkms
</code></pre>
<p>以dkms編譯安裝此驅動:</p>
<pre><code class="bash">
$ cd rtl8821CU/
$ sudo ./dkms-install.sh
</code></pre>
<p>或者,若是往後想移除的話則是:</p>
<pre><code class="bash">
$ sudo ./dkms-remove.sh
</code></pre>
<p>如果一切順利沒出現錯誤的話,在已經接上此USB無線網卡的狀態下可注意一下藍牙圖標出否出現。也許需要重開機一下,或者用 <code>modprobe</code> 載入此驅動:</p>
<pre><code class="bash">
$ sudo modprobe 8821cu
</code></pre>
<p>自己的情況是如此就可正常使用WiFi與藍牙,不必再做說明中 <code>sudo usb_modeswitch</code> 的動作。</p>
<h2>其他相關命令</h2>
<p>有幾個命令可用來檢視此配接器的相關狀態。</p>
<p>檢視連接的USB裝置,看是否有接好:</p>
<pre><code class="bash">
$ lsusb | grep Realtek
</code></pre>
<p>檢視此驅動是否已安裝好:</p>
<pre><code class="bash">
$ lsmod | grep 8821cu
</code></pre>
<p>或者,另一方式:</p>
<pre><code class="bash">
$ dkms status
</code></pre>
<p>檢視無線網路狀態:</p>
<pre><code class="bash">
$ iwconfig
</code></pre>
<h2>結語</h2>
<p>直到目前為止,使用上不論WiFi或藍牙的功能皆屬正常,符合預期。</p>
<p>這款不是從實體賣場買的設備,售後服務與保固方面可能會有疑慮,一般用戶必要的話還是挑選有品牌,有明確保固與售後服務保證的為宜。</p>
<p>事後從NCC與他處查到此商品的廠牌是YIMI壹米。</p><h2>補充</h2>
<p>2022-8-21:遇到兩個情況值得注意:</p><ol style="text-align: left;"><li>
配接器接頭兩側有開口,有回想從機箱後的USB孔取出時發現有一側卡住,可能USB孔內側邊的金屬片向內偏而卡進配接器側邊的開口。找了工具費了九牛二虎之力才取出,配接器接頭卡住那側已有點變形,如下圖。之後使用前先檢查USB孔的側邊,必要時先取工具將金屬片向外壓。<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTET65rL3Pqb8DQAPzUarMGLMsOWoL90D-4dUinuURQ64i-ihqGqHw_jkYoVe7TA3bhtQ9cKnN4gy3exANWx4yGMKqmZSZYwjIgFl2Ty20Z_eXe6fUVVWMsQzIpnYirk2-RM6jOCM5t0d3yffO86jETlQIZM67bCuRCCaxBzXAOUbKbAO9vf-Ey1l5/s1008/distortion.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="825" data-original-width="1008" height="262" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTET65rL3Pqb8DQAPzUarMGLMsOWoL90D-4dUinuURQ64i-ihqGqHw_jkYoVe7TA3bhtQ9cKnN4gy3exANWx4yGMKqmZSZYwjIgFl2Ty20Z_eXe6fUVVWMsQzIpnYirk2-RM6jOCM5t0d3yffO86jETlQIZM67bCuRCCaxBzXAOUbKbAO9vf-Ey1l5/s320/distortion.jpg" width="320" /></a></div></li><li> 在Kubuntu桌面環境啟用防火牆且不做進一步設置時會影響到此配接器的功能,如以下兩點所述。至於防火牆該做什麼設置才能讓此配接器正常使用,因目前無此使用需求,尚未實際測試。</li><ul><li>來連線WiFi熱點的裝置無法取得IP而無法正常連上。</li><li>藍牙無線鍵盤可以連線,但對按鍵的反應很遲頓,無法流暢地使用鍵盤。</li></ul></ol><h2>參考與連結</h2>
<ol><li><a href="https://blog.csdn.net/qq_41953182/article/details/105005242" target="_blank">无线网卡芯片rtl8821CU-linux驱动解决方案</a></li><li><a href="https://zhuanlan.zhihu.com/p/455032641" target="_blank">Linux usb_wifi驱动, 针对rtl8821CU型号,Ubuntu亲测有效</a></li><li><a href="https://github.com/axiomware/RTL8821CU_driver_v5.8.1" target="_blank">RTL8821CU_RTL8811CU_driver version v5.8.1</a></li><li><a href="https://github.com/brektrou/rtl8821CU" target="_blank">Realtek RTL8811CU/RTL8821CU USB wifi adapter driver version 5.4.1 for Linux 4.4.x up to 5.x</a></li></ol><p>update: 2022-8-21 <br /></p>Fygul Hetherhttp://www.blogger.com/profile/14177537617231833647noreply@blogger.com0tag:blogger.com,1999:blog-3601881931050405057.post-6122689897753225432022-06-25T20:22:00.008+08:002023-05-20T22:48:52.603+08:00Flatpak錯誤訊息<div class="e-content entry-content" itemprop="articleBody text">
<h2>概要</h2>
<p>裝了Kubuntu 22.04之後,想安裝的HandBrake官方網頁上只提供Flatpak的安裝方式,於是照著<a href="https://flatpak.org/setup/Kubuntu" target="_blank">說明</a>先安裝好Flatpak,這步驟完成時出現個警告訊息沒留意到。接著在安裝HandBrake時出錯無法完成,出現了以下訊息:</p>
<blockquote>
<p>flathub:GPG verification enabled, but no summary found (check that the configured URL in remote config is correct)</p>
</blockquote>
<p>以往使用Flatpak的機會並不多,也無意對此深入了解,第一回遇到此問題一時也無頭緒,但稍搜尋一下,看了兩篇討論串,大致已了解如何處理。<span></span></p><a name='more'></a><p></p>
<h2>問題所在</h2>
<p>依兩篇參考的內容檢查了以下Flatpak設置檔之一的內容看來並無問題:</p>
<p><code>/var/lib/flatpak/repo/config</code></p>
<p>由於在安裝Flatpak時出現過警告訊息,且[2]提到以下兩項:</p>
<p>一、把設置檔中的 <code>[remote "flathub"]</code> 整段刪掉,再用以下指令重新加入:</p>
<pre><code class="bash">
$ flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
</code></pre>
<p>此指令會把Flatpak的遠端倉庫加入設置檔中,以後Flatpak要安裝軟體時可從此遠端倉庫取得所要的東西。新產生的設置檔內容則會與原先的內容大不相同。</p>
<p>二、此外,還會在 <code>/var/lib/flatpak/repo</code> 中產生 <code>flathub.trustedkeys.gpg</code> 。</p>
<p>從以上已知的資訊做簡單的推測,安裝Flatpak時不知何原因出了錯,極可能安裝程序源頭的設置或參數有問題,沒產生上述 <code>.pgp</code> 檔案。缺了這用來做驗證的檔案,安裝軟體時就會出現前面的錯誤訊息而無法繼續下去。</p>
<h2>解決之道</h2>
<p>在動手進行問題的修復工作之前,可先確認兩件事:</p>
<ol><li>先看一下上述設置檔的內容,其中有個 <code>url</code> ,其值就是上述指令中那段 <code>https</code> 的內容,也可能不同,不論如何,先記錄下來。</li><li>檢查一下 <code>/var/lib/flatpak/repo</code> ,其中沒有 <code>flathub.trustedkeys.gpg</code> 檔案。</li></ol>
<p>接下來可以實際解決掉問題。可以如同上述般刪掉設置檔中的內容,或者,也可用 <code>flatpak</code> 命令:</p>
<pre><code class="bash">
$ flatpak remote-delete flathub
</code></pre>
<p>重新加入遠端倉庫:</p>
<pre><code class="bash">
$ flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
</code></pre>
<p>完成後檢查一下設置檔內容,會發現與先前的不太一樣,特別是 <code>url</code> 。再檢查那個 <code>.gpg</code> 檔也應該出現了。</p>
<p>沒問題的話,就可以到<a href="https://flathub.org/apps" target="_blank">FLATHUB</a>找想要的軟體並以Flatpak安裝。</p>
<h2>參考與連結</h2>
<ol><li><a href="https://github.com/flatpak/flatpak/issues/1967" target="_blank">GPG verification enabled, but no summary found #1967</a></li><li><a href="https://www.reddit.com/r/debian/comments/tru1ws/cannot_get_flathub_to_install_flatpaks/" target="_blank">Cannot get flathub to install flatpaks</a></li></ol>
</div>Fygul Hetherhttp://www.blogger.com/profile/14177537617231833647noreply@blogger.com0tag:blogger.com,1999:blog-3601881931050405057.post-56385094311520726102022-05-28T22:25:00.002+08:002022-05-28T22:25:52.524+08:00Zettlr Markdown編輯器<h2>概要</h2>
<p>之前的〈<a href="http://fygul.blogspot.com/2018/08/retext-remarkable.html" target="_blank">Markdown編輯器ReText與Remarkable</a>〉提到幾款開放源碼的Markdown編輯器,本文介紹另一款後起之秀Zettlr。<span></span></p><a name='more'></a><p></p>
<h2>Zettlr簡介</h2>
<p><a href="https://www.zettlr.com/" target="_blank">Zettlr</a>這款Markdown編輯器,比起之前用的幾款,就幾個方面而言,像使用者界面設計、軟體包裝、中文界面、多平台支援,或是官網的網站美觀度,都有較佳的表現。另外還有幾個較奇特的功能,像是提醒休息、整合<a href="https://www.zotero.org/" target="_blank">Zotero</a>文獻管理軟體、專注模式。官方網站有個與其他同類軟體的<a href="https://www.zettlr.com/features" target="_blank">功能比較表</a>可看到一些主要的功能特色,至於其他細節,可在使用時再慢慢發掘。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9Etb6y3o7zqCA_U-dN7DSMLhY5hRZHnSDxd7dWGYxzY0wgvB7EfkD2n2FjfMm6V8ej0Sa9yp6WXNsEKOLx0FFGUMC840uYwuhSVuj1njDnUnx5JtonAshyQkUI2iUX1f1toSDx_r0Psf3cW3FD8iB2T7CB8leUZhSI2WXNJyh7cbfX7f7_2n3dAFY/s1920/zettlr.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1003" data-original-width="1920" height="167" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9Etb6y3o7zqCA_U-dN7DSMLhY5hRZHnSDxd7dWGYxzY0wgvB7EfkD2n2FjfMm6V8ej0Sa9yp6WXNsEKOLx0FFGUMC840uYwuhSVuj1njDnUnx5JtonAshyQkUI2iUX1f1toSDx_r0Psf3cW3FD8iB2T7CB8leUZhSI2WXNJyh7cbfX7f7_2n3dAFY/s320/zettlr.png" width="320" /></a></div><p></p><p>軟體本身內建英文版的教學課程,另有<a href="https://docs.zettlr.com/" target="_blank">線上版說明文件</a>,目前有數種語言的版本。</p>
<p>Zettlr是可免費使用的開放源碼軟體,然而它的功能並不輸給類似功能性質的付費商業軟體。</p>
<p>除了上面提過的幾項因素,而且用起來也相當順手,所以就把以前用的Markdown編輯器都擺一邊,改用Zettlr了。</p><p> </p>Fygul Hetherhttp://www.blogger.com/profile/14177537617231833647noreply@blogger.com0tag:blogger.com,1999:blog-3601881931050405057.post-52683686631432699572022-04-16T21:57:00.001+08:002022-04-16T22:04:53.646+08:00Ubuntu 20.04安裝HP印表機驅動程式<h2>概要</h2>
<p>之前寫的〈<a href="http://fygul.blogspot.com/2016/05/hp-linux-drivers.html" target="_blank">Ubuntu MATE 16.04安裝HP印表機驅動程式 </a>〉,其中也補充個影片,但隨著時間過去,<a href="https://developers.hp.com/hp-linux-imaging-and-printing" target="_blank">HP Linux Imaging and Printing</a>的網頁做了修改,再者程式仍延用目前的Ubuntu 20.04已不用的舊版python,所以安裝工作無法成功。本文對此問題與解決方法做點簡單描述。環境是Ubuntu MATE 20.04, hplip-3.22.2。</p>
<p>※如果印表機接上後在Ubuntu 20.04即可正常使用,就不必再額外做以下的安裝,這裡是因預裝的驅動無法正常使用才採用的方式。如果以 <code>sudo apt install hplip</code> 裝好驅動,也可正常使用,也沒必要做以下工作。</p>
<p>※<a href="http://fygul.blogspot.com/2016/05/hp-linux-drivers.html" target="_blank">前文</a>有個的提醒,預裝的驅動若無法正常運作才採用此方法。</p><a name='more'></a><p></p>
<h2>問題描述</h2>
<p>執行下載的 hplip-3.22.2.run 安裝程式,採自動模式執行,<b>過程中遇到幾個無法移除或安裝的問題,可以先中斷程式,自行手動執行那個無法移除或安裝的命令,看一下錯誤訊息以了解問題所在,設法解決後再重新執行安裝程式。</b>會動用到aptitude,若不清楚如何使用,可參考一下<a href="http://fygul.blogspot.com/2020/11/ubuntu-unmet-dependencies-2.html" target="_blank">這篇</a>。然而最終仍有一個問題無法如此解決掉,出現這樣的訊息:</p>
<pre><code class="text">
...
error: Command failed. Re-try #3...
Running 'sudo apt-get install --assume-yes python-pyqt5'
Please wait, this may take several minutes...
error: Package install command failed with error code 100
Would you like to retry installing the missing package(s) (y=yes*, n=no, q=quit) ?
</code></pre>
<p>此問題的癥結點在於HP印表機的程式仍依賴Python 2.7版的包 <code>python-pyqt5</code> ,然而Ubuntu 20.04已再不提供。</p>
<h2>解決方案</h2>
<h3>說明</h3>
<p>花了點時間查到一篇Ask Ubuntu上的討論[1]與此相關,其中的內容正好可以解決此問題。以下先做點簡單說明,再附上調整過的解決方法。</p>
<p>python-pyqt5是舊版Ubuntu 18.04 (bionic)用,雖然加入bionic的源可以讓Ubuntu
20.04安裝它,然而它的依賴qtbase-abi-5-9-5,會在Ubuntu
20.04造成重大衝突。只好做個假的qtbase-abi,其內容其實是空的,目的只是讓Ubuntu
20.04把python-pyqt5裝上而已。解決方法如以下步驟:</p>
<ol><li>做個qtbase-api-fake deb並安裝</li><li>apt倉庫加入bionic的源</li><li>安裝python-pyqt5</li></ol>
<h3>解決方法</h3>
<h4>1. 做個qtbase-api-fake deb並安裝</h4>
<p>若不想逐一輸入,也可將以下指令複製並貼上終端機執行:</p>
<pre><code class="bash">
# create the package structure:
cd /tmp
mkdir qtbase-abi-fake
mkdir -p qtbase-abi-fake/DEBIAN
mkdir -p qtbase-abi-fake/usr/lib/qtbase-abi-fake
touch qtbase-abi-fake/usr/lib/qtbase-abi-fake/nothing.txt
# create the deb control file (the guts):
cat <<_EOF > qtbase-abi-fake/DEBIAN/control
Package: qtbase-abi-fake
Version: 5.9.5
Section: custom
Priority: optional
Architecture: all
Essential: no
Installed-Size: 1024
Maintainer: atlas
Description: Fakes out python-pyqt5 from Ubuntu 18.04 to work on 20.04
Provides: qtbase-abi-5-9-5
_EOF
# build the qtbase-abi-fake.deb file:
dpkg-deb --build qtbase-abi-fake
# install your newly created deb file:
sudo dpkg -i qtbase-abi-fake.deb
</code></pre>
<h4>2. apt倉庫加入bionic的源</h4>
<pre><code class="bash">
$ echo 'deb http://us.archive.ubuntu.com/ubuntu/ bionic universe multiverse' | sudo tee /etc/apt/sources.list.d/bionic-helper.list
</code></pre>
<h4>3. 安裝python-pyqt5</h4>
<pre><code class="bash">
$ sudo apt update
$ sudo apt install python-pyqt5
</code></pre>
<h2>結語</h2>
<p>以上解決方法是依[1]中較理想的方法所做的調整,筆者無意再測試其他方法,若有興趣可自行查看原文。</p>
<p>雖然最終是完成安裝工作,但右上角的印表機圖示無法正常顯示,印表機倒是可正常使用的,必要的話用控制中心把舊的印表機刪掉,把這次建立的印表機設為預設值。</p>
<h2>參考與連結</h2>
<ol><li><a href="https://askubuntu.com/questions/1254347/how-to-get-pyqt5-for-python2-on-ubuntu-20-04" target="_blank">How to get PyQt5 for Python2 on Ubuntu 20.04</a></li></ol>Fygul Hetherhttp://www.blogger.com/profile/14177537617231833647noreply@blogger.com0